def test_clear_method_resets_objects(self): """ Tests that the clear() method properly resets all objects. Test for #449. """ # Test with basic event object. e = Event(force_resource_id=False) e.comments.append(Comment(text="test")) e.event_type = "explosion" self.assertEqual(len(e.comments), 1) self.assertEqual(e.event_type, "explosion") e.clear() self.assertEqual(e, Event(force_resource_id=False)) self.assertEqual(len(e.comments), 0) self.assertEqual(e.event_type, None) # Test with pick object. Does not really fit in the event test case but # it tests the same thing... p = Pick() p.comments.append(Comment(text="test")) p.phase_hint = "p" self.assertEqual(len(p.comments), 1) self.assertEqual(p.phase_hint, "p") # Add some more random attributes. These should disappear upon # cleaning. p.test_1 = "a" p.test_2 = "b" self.assertEqual(p.test_1, "a") self.assertEqual(p.test_2, "b") p.clear() self.assertEqual(len(p.comments), 0) self.assertEqual(p.phase_hint, None) self.assertFalse(hasattr(p, "test_1")) self.assertFalse(hasattr(p, "test_2"))
def test_clear_method_resets_objects(self): """ Tests that the clear() method properly resets all objects. Test for #449. """ # Test with basic event object. e = Event(force_resource_id=False) e.comments.append(Comment(text="test")) e.event_type = "explosion" self.assertEqual(len(e.comments), 1) self.assertEqual(e.event_type, "explosion") e.clear() self.assertEqual(e, Event(force_resource_id=False)) self.assertEqual(len(e.comments), 0) self.assertEqual(e.event_type, None) # Test with pick object. Does not really fit in the event test case but # it tests the same thing... p = Pick() p.comments.append(Comment(text="test")) p.phase_hint = "p" self.assertEqual(len(p.comments), 1) self.assertEqual(p.phase_hint, "p") # Add some more random attributes. These should disappear upon # cleaning. with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") p.test_1 = "a" p.test_2 = "b" # two warnings should have been issued by setting non-default keys self.assertEqual(len(w), 2) self.assertEqual(p.test_1, "a") self.assertEqual(p.test_2, "b") p.clear() self.assertEqual(len(p.comments), 0) self.assertEqual(p.phase_hint, None) self.assertFalse(hasattr(p, "test_1")) self.assertFalse(hasattr(p, "test_2"))
def test_clear_method_resets_objects(self): """ Tests that the clear() method properly resets all objects. Test for #449. """ # Test with basic event object. e = Event(force_resource_id=False) e.comments.append(Comment(text="test")) e.event_type = "explosion" assert len(e.comments) == 1 assert e.event_type == "explosion" e.clear() assert e == Event(force_resource_id=False) assert len(e.comments) == 0 assert e.event_type is None # Test with pick object. Does not really fit in the event test case but # it tests the same thing... p = Pick() p.comments.append(Comment(text="test")) p.phase_hint = "p" assert len(p.comments) == 1 assert p.phase_hint == "p" # Add some more random attributes. These should disappear upon # cleaning. with WarningsCapture() as w: p.test_1 = "a" p.test_2 = "b" # two warnings should have been issued by setting non-default keys assert len(w) == 2 assert p.test_1 == "a" assert p.test_2 == "b" p.clear() assert len(p.comments) == 0 assert p.phase_hint is None assert not hasattr(p, "test_1") assert not hasattr(p, "test_2")