def _add_elem(elem): assert elem not in setset._obj2int if len(setset._obj2int) >= _graphillion._elem_limit(): m = 'too many elements are set, which must be %d or less' % _graphillion._elem_limit() raise RuntimeError(m) i = len(setset._int2obj) _graphillion.setset([set([i])]) setset._obj2int[elem] = i setset._int2obj.append(elem) assert len(setset._int2obj) == _graphillion._num_elems() + 1 assert setset._int2obj[i] == elem assert setset._obj2int[elem] == i
def _add_elem(elem): assert elem not in setset._obj2int if len(setset._obj2int) >= _graphillion._elem_limit(): m = 'not more than %d elements used' % _graphillion._elem_limit() raise RuntimeError, m i = len(setset._int2obj) _graphillion.setset([set([i])]) setset._obj2int[elem] = i setset._int2obj.append(elem) assert len(setset._int2obj) == _graphillion._num_elems() + 1 assert setset._int2obj[i] == elem assert setset._obj2int[elem] == i
def test_init(self): import _graphillion self.assertEqual(_graphillion._elem_limit(), 2**20 - 1) setset.set_universe([]) self.assertEqual(setset._obj2int, {}) self.assertEqual(setset._int2obj, [None]) self.assertEqual(setset.universe(), []) setset.set_universe(['i', 'ii']) self.assertEqual(setset._obj2int, {'i': 1, 'ii': 2}) self.assertEqual(setset._int2obj, [None, 'i', 'ii']) self.assertEqual(setset.universe(), ['i', 'ii']) ss = setset({}) self.assertEqual( ss, setset([set(), set(['i']), set(['i', 'ii']), set(['ii'])])) setset.set_universe(['1']) self.assertEqual(setset._obj2int, {'1': 1}) self.assertEqual(setset._int2obj, [None, '1']) self.assertEqual(setset.universe(), ['1']) ss = setset({}) self.assertEqual(ss, setset([s0, s1])) self.assertRaises(ValueError, setset.set_universe, ['1', '1'])
def test_init(self): import _graphillion self.assertEqual(_graphillion._elem_limit(), 2**20 - 1) setset.set_universe([]) self.assertEqual(setset._obj2int, {}) self.assertEqual(setset._int2obj, [None]) self.assertEqual(setset.universe(), []) setset.set_universe(['i', 'ii']) self.assertEqual(setset._obj2int, {'i': 1, 'ii': 2}) self.assertEqual(setset._int2obj, [None, 'i', 'ii']) self.assertEqual(setset.universe(), ['i', 'ii']) ss = setset({}) self.assertEqual( ss, setset([set(), set(['i']), set(['i','ii']), set(['ii'])])) setset.set_universe(['1']) self.assertEqual(setset._obj2int, {'1': 1}) self.assertEqual(setset._int2obj, [None, '1']) self.assertEqual(setset.universe(), ['1']) ss = setset({}) self.assertEqual(ss, setset([s0, s1])) self.assertRaises(ValueError, setset.set_universe, ['1', '1'])