def test_different_pagenames(self): """Differing pagenames should prevent either edit to get marked as reverted, unless the revert field is set. """ # All edits are non-reverts because of differing pagenames. df = DataFrame([ ['Name 1', 12, dt(2019, 12, 31, 12), False], ['Name 2', -12, dt(2019, 12, 30, 12), False], ['Name 2', -18, dt(2019, 12, 29, 12), False], ['Name 3', 18, dt(2019, 12, 28, 12), False], ], columns=['pagename', 'change_size', 'date', 'revert']) result = probably_revert(df) self.assertFalse(result.any()) # The revert field results in the previous edit as being reverted. df = DataFrame([ ['Name 1', 12, dt(2019, 12, 31, 12), False], ['Name 2', -12, dt(2019, 12, 30, 12), False], ['Name 2', -18, dt(2019, 12, 29, 12), True], ['Name 3', 18, dt(2019, 12, 28, 12), False], ], columns=['pagename', 'change_size', 'date', 'revert']) result = probably_revert(df) expected = Series([False, False, False, True]) self.assertFalse((result == expected).all())
def test_revert_field_vs_pagenames(self): """Only one revert, because of default criterion.""" df = DataFrame([ ['Name 1', 12, dt(2019, 12, 31, 12), False], ['Name 2', -12, dt(2019, 12, 30, 12), False], ['Name 2', -18, dt(2019, 12, 29, 12), True], ['Name 3', 18, dt(2019, 12, 28, 12), False], ], columns=['pagename', 'change_size', 'date', 'revert']) result = probably_revert(df) self.assertTrue((result == Series([False, False, True, False])).all())
def test_different_pagenames(self): """No reverts, because pagenames do not correspond.""" df = DataFrame([ ['Name 1', 12, dt(2019, 12, 31, 12), False], ['Name 2', -12, dt(2019, 12, 30, 12), False], ['Name 2', -18, dt(2019, 12, 29, 12), False], ['Name 3', 18, dt(2019, 12, 28, 12), False], ], columns=['pagename', 'change_size', 'date', 'revert']) result = probably_revert(df) self.assertFalse(result.any())
def test_regular_reverts(self): """Two regular reverts.""" df = DataFrame([ ['Name 1', 12, dt(2019, 12, 31, 12), False], ['Name 1', -12, dt(2019, 12, 30, 12), False], ['Name 1', -18, dt(2019, 12, 29, 12), False], ['Name 1', 18, dt(2019, 12, 28, 12), False], ], columns=['pagename', 'change_size', 'date', 'revert']) result = probably_revert(df) self.assertTrue((result == Series([True, False, True, False])).all())
def test_revert_field(self): """ Some default reverts.""" df = DataFrame([ ['Name 1', 12, dt(2019, 12, 31, 12), False], ['Name 1', 14, dt(2019, 12, 30, 12), True], ['Name 1', 18, dt(2019, 12, 29, 12), True], ['Name 1', 22, dt(2019, 12, 28, 12), False], ], columns=['pagename', 'change_size', 'date', 'revert']) result = probably_revert(df) self.assertTrue((result == Series([False, True, True, False])).all())
def test_no_revert(self): """Check that `probably_revert()` yields the correct results for all rows of a known data frame. """ # No reverts at all. df = DataFrame([ ['Name 1', 12, dt(2019, 12, 31, 12), False], ['Name 1', 14, dt(2019, 12, 30, 12), False], ['Name 1', 18, dt(2019, 12, 29, 12), False], ['Name 1', 22, dt(2019, 12, 28, 12), False], ], columns=['pagename', 'change_size', 'date', 'revert']) result = probably_revert(df) self.assertFalse(result.any())