def test_lazyness(self): f = CircularSubFactory('factory.declarations', 'Sequence', x=3) self.assertEqual(None, f.factory) self.assertEqual({'x': 3}, f.defaults) factory_class = f.get_factory() self.assertEqual(Sequence, factory_class)
def test_cache(self): orig_date = datetime.date f = CircularSubFactory('datetime', 'date') self.assertEqual(None, f.factory) factory_class = f.get_factory() self.assertEqual(orig_date, factory_class) try: # Modify original value datetime.date = None # Repeat import factory_class = f.get_factory() self.assertEqual(orig_date, factory_class) finally: # IMPORTANT: restore attribute. datetime.date = orig_date