def test_modifiers(self): v = [g0, g12, g13] gs = GraphSet(v) gs.add(g1) self.assertTrue(g1 in gs) gs.remove(g1) self.assertTrue(g1 not in gs) self.assertRaises(KeyError, gs.remove, g1) gs.add(g0) gs.discard(g0) self.assertTrue(g0 not in gs) gs.discard(g0) # no exception raised gs = GraphSet(v) gs.add(e2) self.assertEqual(gs, GraphSet([g12, g123, g2])) gs = GraphSet(v) gs.remove(e2) self.assertEqual(gs, GraphSet([g0, g1, g13])) self.assertRaises(KeyError, gs.remove, e4) gs = GraphSet(v) gs.discard(e2) self.assertEqual(gs, GraphSet([g0, g1, g13])) gs.discard(e4) # no exception raised v = [g1, g12, g13] gs = GraphSet(v) g = gs.pop() self.assertTrue(isinstance(g, list)) self.assertTrue(g not in gs) self.assertEqual(gs | GraphSet([g]), GraphSet(v)) self.assertTrue(gs) gs.clear() self.assertFalse(gs) self.assertRaises(KeyError, gs.pop) self.assertRaises(KeyError, gs.add, [(1,4)]) self.assertRaises(KeyError, gs.remove, [(1,4)]) self.assertRaises(KeyError, gs.discard, [(1,4)]) self.assertRaises(KeyError, gs.add, (1,4)) self.assertRaises(KeyError, gs.remove, (1,4)) self.assertRaises(KeyError, gs.discard, (1,4)) u = [g0, g1, g12, g123, g1234, g134, g14, g4] gs = GraphSet(u) gs.flip(e1) self.assertEqual(gs, GraphSet([g0, g1, g14, g2, g23, g234, g34, g4]))
def test_modifiers(self): v = [g0, g12, g13] gs = GraphSet(v) gs.add(g1) self.assertTrue(g1 in gs) gs.remove(g1) self.assertTrue(g1 not in gs) self.assertRaises(KeyError, gs.remove, g1) gs.add(g0) gs.discard(g0) self.assertTrue(g0 not in gs) gs.discard(g0) # no exception raised gs = GraphSet(v) gs.add(e2) self.assertEqual(gs, GraphSet([g12, g123, g2])) gs = GraphSet(v) gs.remove(e2) self.assertEqual(gs, GraphSet([g0, g1, g13])) self.assertRaises(KeyError, gs.remove, e4) gs = GraphSet(v) gs.discard(e2) self.assertEqual(gs, GraphSet([g0, g1, g13])) gs.discard(e4) # no exception raised v = [g1, g12, g13] gs = GraphSet(v) g = gs.pop() self.assertTrue(isinstance(g, list)) self.assertTrue(g not in gs) self.assertEqual(gs | GraphSet([g]), GraphSet(v)) self.assertTrue(gs) gs.clear() self.assertFalse(gs) self.assertRaises(KeyError, gs.pop) self.assertRaises(KeyError, gs.add, [(1, 4)]) self.assertRaises(KeyError, gs.remove, [(1, 4)]) self.assertRaises(KeyError, gs.discard, [(1, 4)]) self.assertRaises(KeyError, gs.add, (1, 4)) self.assertRaises(KeyError, gs.remove, (1, 4)) self.assertRaises(KeyError, gs.discard, (1, 4)) u = [g0, g1, g12, g123, g1234, g134, g14, g4] gs = GraphSet(u) gs.flip(e1) self.assertEqual(gs, GraphSet([g0, g1, g14, g2, g23, g234, g34, g4]))
def test_constructors(self): gs = GraphSet() self.assertTrue(isinstance(gs, GraphSet)) self.assertEqual(len(gs), 0) gs = GraphSet([]) self.assertEqual(len(gs), 0) gs = GraphSet([g1, [(3,1)]]) self.assertEqual(len(gs), 2) self.assertTrue(g1 in gs) self.assertTrue(g2 in gs) gs = GraphSet({}) self.assertEqual(len(gs), 2**4) gs = GraphSet({'include': [e1, e2], 'exclude': [(4,3)]}) self.assertEqual(len(gs), 2) self.assertTrue(g12 in gs) self.assertTrue(g123 in gs) self.assertRaises(KeyError, GraphSet, [(1,4)]) self.assertRaises(KeyError, GraphSet, [[(1,4)]]) self.assertRaises(KeyError, GraphSet, {'include': [(1,4)]}) # copy constructor gs1 = GraphSet([g0, g12, g13]) gs2 = gs1.copy() self.assertTrue(isinstance(gs2, GraphSet)) gs1.clear() self.assertEqual(gs1, GraphSet()) self.assertEqual(gs2, GraphSet([g0, g12, g13])) # repr gs = GraphSet([g0, g12, g13]) self.assertEqual( repr(gs), "GraphSet([[], [(1, 2), (1, 3)], [(1, 2), (2, 4)]])") gs = GraphSet({}) self.assertEqual( repr(gs), "GraphSet([[], [(1, 2)], [(1, 3)], [(2, 4)], [(3, 4)], [(1, 2), (1, 3)], [(1, ...")
def test_constructors(self): gs = GraphSet() self.assertTrue(isinstance(gs, GraphSet)) self.assertEqual(len(gs), 0) gs = GraphSet([]) self.assertEqual(len(gs), 0) gs = GraphSet([g1, [(3, 1)]]) self.assertEqual(len(gs), 2) self.assertTrue(g1 in gs) self.assertTrue(g2 in gs) gs = GraphSet({}) self.assertEqual(len(gs), 2**4) gs = GraphSet({'include': [e1, e2], 'exclude': [(4, 3)]}) self.assertEqual(len(gs), 2) self.assertTrue(g12 in gs) self.assertTrue(g123 in gs) self.assertRaises(KeyError, GraphSet, [(1, 4)]) self.assertRaises(KeyError, GraphSet, [[(1, 4)]]) self.assertRaises(KeyError, GraphSet, {'include': [(1, 4)]}) # copy constructor gs1 = GraphSet([g0, g12, g13]) gs2 = gs1.copy() self.assertTrue(isinstance(gs2, GraphSet)) gs1.clear() self.assertEqual(gs1, GraphSet()) self.assertEqual(gs2, GraphSet([g0, g12, g13])) # repr gs = GraphSet([g0, g12, g13]) self.assertEqual(repr(gs), "GraphSet([[], [(1, 2), (1, 3)], [(1, 2), (2, 4)]])") gs = GraphSet({}) self.assertEqual( repr(gs), "GraphSet([[], [(1, 2)], [(1, 3)], [(2, 4)], [(3, 4)], [(1, 2), (1, 3)], [(1, ..." )