summaryrefslogtreecommitdiff
path: root/tests/test_using.py
diff options
context:
space:
mode:
authorRaphaël Barrois <raphael.barrois@polytechnique.org>2012-08-16 17:29:59 +0200
committerRaphaël Barrois <raphael.barrois@polytechnique.org>2012-08-16 22:38:42 +0200
commitc34d01278bd9cadff3f1ebea4579ef556cf75480 (patch)
tree730d40aed20ad27e665329cd34694a7cdc5861d2 /tests/test_using.py
parentbab73174ff9c6c8ef4bfa24142d18f04411cb342 (diff)
downloadfactory-boy-c34d01278bd9cadff3f1ebea4579ef556cf75480.tar
factory-boy-c34d01278bd9cadff3f1ebea4579ef556cf75480.tar.gz
Add full tests for CircularSubFactory.
Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
Diffstat (limited to 'tests/test_using.py')
-rw-r--r--tests/test_using.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_using.py b/tests/test_using.py
index f4d5440..1d0b875 100644
--- a/tests/test_using.py
+++ b/tests/test_using.py
@@ -22,6 +22,8 @@
import factory
+import os
+import sys
from .compat import unittest
@@ -953,5 +955,25 @@ class PostGenerationTestCase(unittest.TestCase):
self.assertEqual(obj, obj.related.three)
+class CircularTestCase(unittest.TestCase):
+ def test_example(self):
+ sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
+
+ from cyclic import foo
+ f = foo.FooFactory.build(bar__foo=None)
+ self.assertEqual(42, f.x)
+ self.assertEqual(13, f.bar.y)
+ self.assertIsNone(f.bar.foo)
+
+ from cyclic import bar
+ b = bar.BarFactory.build(foo__bar__foo__bar=None)
+ self.assertEqual(13, b.y)
+ self.assertEqual(42, b.foo.x)
+ self.assertEqual(13, b.foo.bar.y)
+ self.assertEqual(42, b.foo.bar.foo.x)
+ self.assertIsNone(b.foo.bar.foo.bar)
+
+
+
if __name__ == '__main__':
unittest.main()