def test_extend_decorator_can_be_composed(self): module = self.make_example_setup_function_module() original_fixture = setup(module.baseline) second_fixture = self.make_extend_fixture(original_fixture, 'second') third_fixture = self.make_extend_fixture(second_fixture, 'third') data = {} third_fixture(None, data) self.assertEqual(['baseline', 'second', 'third'], data['called'])
def test_add_cleanup_decorator(self): fixture = setup(self.make_example_setup_function_module().baseline) result = [] def my_teardown(request, data): result.append('foo') self.assertEquals(fixture, fixture.add_cleanup(my_teardown)) fixture.teardown(None, None) self.assertEquals(['foo'], result)
def test_setup_decorator(self): module = self.make_example_setup_function_module() fixture = setup(module.baseline) self.assertTrue('_fixtures_' in module.__dict__) self.assertTrue('baseline' in module._fixtures_) self.assertEquals(fixture, module._fixtures_['baseline']) self.assertTrue(getattr(fixture, 'add_cleanup', None) is not None) self.assertTrue(getattr(fixture, 'teardown', None) is not None) self.assertTrue(getattr(fixture, 'extend', None) is not None)
def test_extend_calls_teardown_in_reverse_order(self): module = self.make_example_setup_function_module() original_fixture = setup(module.baseline) second_fixture = self.make_extend_fixture(original_fixture, 'second') third_fixture = self.make_extend_fixture(second_fixture, 'third') called = [] original_fixture.add_cleanup( lambda request, data: called.append('original')) second_fixture.add_cleanup( lambda request, data: called.append('second')) third_fixture.add_cleanup(lambda request, data: called.append('third')) third_fixture.teardown(None, dict()) self.assertEquals(['third', 'second', 'original'], called) del called[:] original_fixture.teardown(None, dict()) self.assertEquals(['original'], called)