import sys import unittest sys.argv.append('test.wcnf') import agm1 from gPy.Models import FR for obj_str in dir(agm1): fr = getattr(agm1,obj_str) if isinstance(fr,FR): break else: raise ValueError('No FR object defined in agm1, so not bothering with unit tests') class Testagm1(unittest.TestCase): def test_len(self): self.assertEqual(len(fr),2504) def test_sizes(self): sizes = {} for factor in fr: try: sizes[len(factor)] += 1 except KeyError: sizes[len(factor)] = 1 sizes = sorted(sizes.items()) self.assertEqual(sizes,[(2, 104), (4, 103), (8, 2284), (16, 1), (32, 5), (64, 2), (128, 2), (256, 1), (2048, 1), (4096, 1)]) suite = unittest.makeSuite(Testagm1) if __name__ == '__main__': unittest.TextTestRunner(verbosity=2).run(suite)