def test_duplicate_details_are_disambiguated(self): parent = fixtures.Fixture() with parent: parent.addDetail('foo', 'parent-content') child = fixtures.Fixture() parent.useFixture(child) # Note that we add the detail *after* using the fixture: the parent # has to query just-in-time. child.addDetail('foo', 'child-content') self.assertEqual({'foo': 'parent-content', 'foo-1': 'child-content',}, parent.getDetails())
def test_details_from_child_fixtures_are_returned(self): parent = fixtures.Fixture() with parent: child = fixtures.Fixture() parent.useFixture(child) # Note that we add the detail *after* using the fixture: the parent # has to query just-in-time. child.addDetail('foo', 'content') self.assertEqual({'foo': 'content'}, parent.getDetails()) # And dropping it from the child drops it from the parent. del child._details['foo'] self.assertEqual({}, parent.getDetails()) # After cleanup the child details are still gone. child.addDetail('foo', 'content') self.assertRaises(TypeError, parent.getDetails)
def test_addDetail(self): fixture = fixtures.Fixture() with fixture: fixture.addDetail('foo', 'content') self.assertEqual({'foo': 'content'}, fixture.getDetails()) del fixture._details['foo'] self.assertEqual({}, fixture.getDetails()) fixture.addDetail('foo', 'content') # Cleanup clears the details too. self.assertRaises(TypeError, fixture.getDetails)
def test_exit_propagates_exceptions(self): fixture = fixtures.Fixture() fixture.__enter__() self.assertEqual(False, fixture.__exit__(None, None, None))
def test_getDetails(self): fixture = fixtures.Fixture() with fixture: self.assertEqual({}, fixture.getDetails())
def setUp(self): super(TestSafeFixture, self).setUp() if self.fixtures: self.parent = self.useFixture(fixtures.Fixture()) else: self.parent = self