diff options
author | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-08-16 17:29:59 +0200 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-08-16 22:38:42 +0200 |
commit | c34d01278bd9cadff3f1ebea4579ef556cf75480 (patch) | |
tree | 730d40aed20ad27e665329cd34694a7cdc5861d2 /tests/test_using.py | |
parent | bab73174ff9c6c8ef4bfa24142d18f04411cb342 (diff) | |
download | factory-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.py | 22 |
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() |