def testConstraint_06_afterwards_2(self): tn = unique_name() bn = unique_name() p = getTree(tn) p[bn] = "bork" # passes treedict.addConstraint(unique_name(), bn,["bork", "bork1"])
def testConstraint_09_branches_in_tree_names_03_control(self): tn = unique_name() tnb = tn + '.b' p = getTree(tnb) treedict.addConstraint(tnb, 'a', [1], "not 1") # shouldn't throw p.a = 1
def testConstraint_25_Links_01(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.b.link.v', [1], "not 1") p.d.v = 1 p.a.b.link = p.d self.assert_(p.a.b.link.v == 1)
def testConstraint_09_branches_in_tree_names_02(self): tn = unique_name() p = getTree(tn) treedict.addConstraint(tn + '.b', 'a', [1], "not 1") # shouldn't throw p.b.a = 2
def testConstraint_06_afterwards_2_copy(self): tn = unique_name() bn = unique_name() p = getTree(tn) p[bn] = "bork" # passes q = p.copy(deep = True) q[bn] = "bork1" # passes treedict.addConstraint(tn, bn, ["bork", "bork1"])
def testConstraint_25_Links_03_set_in_linked_root(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.b.link.v', [1], "not 1") p.a.b.link = p.d def f(): p.d.v = 1 self.assertRaises(ValueError, f)
def testConstraint_25_Links_02_bad_value(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.b.link.v', [1], "not 1") p.d.v = 2 def f(): p.a.b.link = p.d self.assertRaises(ValueError, f)
def testConstraint_30_Link_Conf_01_control(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.b.c', [1], "not 1") p.aa.a.bb.b.c = 1 p.a = p.aa.a def f(): p.a.b = p.a.bb.b
def testConstraint_09_branches_in_tree_names_03(self): tn = unique_name() tnb = tn + '.b' p = getTree(tnb) treedict.addConstraint(tnb, 'a', [1], "not 1") # should throw def f(): p.a = 2 self.assertRaises(ValueError, f)
def testConstraint_08_branch_copy_2(self): tn = unique_name() treedict.addConstraint(tn, 'a.b.c', [1], "not 1") p = getTree(tn) p.makeBranch('a.b') q = p.a.b.copy() def f(): q.c = 2 # should be bad self.assertRaises(ValueError, f)
def testConstraint_26_global_Links_01(self): tn = unique_name() bn = unique_name() link_key = bn + '.a.b.link' p = treedict.getTree(tn) treedict.addConstraint(tn, link_key + '.v', [1], "not 1") p[link_key] = p.d p.d.v = 1 self.assert_(p[link_key].v == 1)
def testConstraint_16_constraint_not_added_on_failure__control(self): tn = unique_name() p = getTree(tn) p["a.b.c.d"] = 1 treedict.addConstraint(tn, 'a.b.c.d', [1], "not 1") # Should now throw, as the constraint is in place def f(): p["a.b.c.d"] = 2 self.assertRaises(ValueError, f)
def testConstraint_30_Link_Conf_06_control(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.v', [1], "not 1") p.c = p.aa.c p.aa.bb.c = p.aa.bb.cc p.aa.c = p.aa.bb.c p.a = p.c def f(): p.aa.bb.cc.dd.v = 1
def testConstraint_22_IntermediatesMustBeBranches_01(self): tn = unique_name() treedict.addConstraint(tn, 'a.b.c.d.v', [1], "not 1") p = treedict.getTree(tn) def f(): p["a.b"] = 1 self.assertRaises(ValueError, f) # control p.a.makeBranch("b")
def testConstraint_30_Link_Conf_01(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.b.c', [1], "not 1") p.aa.a.bb.b.c = 2 p.a = p.aa.a def f(): p.a.b = p.a.bb.b self.assertRaises(ValueError, f)
def testConstraint_22_IntermediatesMustBeBranches_02_after(self): tn = unique_name() p = treedict.getTree(tn) p["a.b"] = 1 def f(): treedict.addConstraint(tn, 'a.b.c.d.v', [1], "not 1") self.assertRaises(ValueError, f) # control treedict.addConstraint(tn, 'a.b', [1], "not 1")
def testConstraint_26_global_Links_03_set_in_linked_root(self): tn = unique_name() bn = unique_name() link_key = bn + '.a.b.link' p = treedict.getTree(tn) treedict.addConstraint(tn, link_key + '.v', [1], "not 1") p.d.v = 2 def f(): p[link_key] = p.d self.assertRaises(ValueError, f)
def testConstraint_26_global_Links_02_bad_value(self): tn = unique_name() bn = unique_name() link_key = bn + '.a.b.link' p = treedict.getTree(tn) treedict.addConstraint(tn, link_key + '.v', [1], "not 1") p[link_key] = p.d def f(): p.d.v = 2 self.assertRaises(ValueError, f)
def testConstraint_24_CopyingBranchTracks(self): # A regression test tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.b.c.d.v', [1], "not 1") p.a.b.c.d.v = 1 pc = p.a.b.copy() # would raise an error earlier pc.a.b.v = 1
def testConstraint_30_Link_Conf_06(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'a.v', [1], "not 1") p.c = p.aa.c p.aa.bb.c = p.aa.bb.cc p.aa.c = p.aa.bb.c p.a = p.c def f(): p.aa.bb.cc.dd.v = 2 self.assertRaises(ValueError, f)
def testConstraint_23_IntermediatesMustBeBranches_copied_02_after(self): tn = unique_name() pb = treedict.getTree(tn) pb.makeBranch('a.b') p = pb.a.b.copy() p["c.d"] = 1 def f(): treedict.addConstraint(tn, 'a.b.c.d.v', [1], "not 1") self.assertRaises(ValueError, f) # control treedict.addConstraint(tn, 'a.b.c.d', [1], "not 1")
def testConstraint_15_no_change_on_failure(self): tn = unique_name() p = getTree(tn) p.b = 123 p.c.b = 'bork' p1 = p.copy() treedict.addConstraint(tn, 'a.b.c.d', [1], "not 1") def f(): p["a.b.c.d"] = 2 self.assertRaises(ValueError, f) self.assert_(p == p1)
def testConstraint_18_copying_original_tracks_constraints_01_after(self): tn = unique_name() bn = unique_name() p1 = getTree(tn) p2 = p1.copy() p2[bn] = 2 # Should throw def f(): treedict.addConstraint(tn, bn, [1], "not 1") self.assertRaises(ValueError, f) # The control; should pass treedict.addConstraint(tn, bn, [2], "not 2")
def testConstraint_10_copying_02(self): tn, bn = unique_name(), unique_name() p1 = getTree(tn) p1c = p1.makeBranch(bn).copy() p2 = getTree(bn) treedict.addConstraint(bn, 'a', [1], "not 1") # Should work fine; not part of p2's family p1c.a = 2 self.assert_(p1c.branchName() == bn) # Should throw, cause it's part of p2's family def f(): p2.a = 2 self.assertRaises(ValueError, f) # Shouldn't throw, it passes p2.a = 1
def testConstraint_29_Links_deeper_reference(self): tn = unique_name() p = treedict.getTree(tn) treedict.addConstraint(tn, 'l1.v', [1], "not 1") p.l1 = p.l2 p.l2 = p.l3 p.l3 = p.l4 p.l4 = p.l5 p.l5 = p.l6 p.l6 = p.l7 p.l7.v = 1 self.assert_(p.l1.v == 1) self.assert_(p.l2.v == 1) self.assert_(p.l3.v == 1) self.assert_(p.l4.v == 1) self.assert_(p.l5.v == 1) self.assert_(p.l6.v == 1) self.assert_(p.l7.v == 1)
def testConstraint_18_copying_original_tracks_constraints_02_after(self): tn = unique_name() bn = unique_name() p = getTree(tn) p.a = 1 p.b = 2 for i in range(1000): p = p.copy(deep = True) p[bn] = 2 # Should throw def f(): treedict.addConstraint(tn, bn, [1], "not 1") self.assertRaises(ValueError, f) # The control; should pass treedict.addConstraint(tn, bn, [2], "not 2")
def testConstraint_10_copying_01(self): tn, bn = unique_name(), unique_name() p1 = getTree(tn) p1.makeBranch(bn) p2 = getTree(bn) p1c = p1[bn].copy() treedict.addConstraint(tn, bn +'.a', [1], "not 1") # Should work p2.a = 2 def f(): # Should throw, cause it's part of p1's family p1c.a = 2 self.assertRaises(ValueError, f) # Shouldn't throw, cause it passes p1c.a = 1
def f(): treedict.addConstraint(tn, 'a.b.c.d.v', [1], "not 1")
def f(): treedict.addConstraint(tn, bn, [1], "not 1")
def f(): treedict.addConstraint(bn, 'a', [1], "not 1") self.assertRaises(ValueError, f)