Esempio n. 1
0
 def testHorizontalRuleMatch_ccw_right(self):
     leftside = Side("left", self.makeEdgeDict(Edge("X  XXX", DIR.RIGHT)))
     rightside = Side("right", self.makeEdgeDict(Edge("   XX ", DIR.TOP)))
     rule = HorizontalRule('A', ROT.NONE, 'B', ROT.FROM_CODE['-'])
     check = rule.check(Arrangement([leftside, rightside]))
     if not check: dump(leftside, rightside, leftside.getEdge(DIR.RIGHT), rightside.getEdge(DIR.TOP))
     self.assertTrue(check)
Esempio n. 2
0
 def makeEdgeDict(self, *special_edge):
     edges = {}
     for d in DIR.ALL:
         edges[d] = Edge(" "*6, d)
     for edge in special_edge:
         edges[edge.direction] = edge
     return edges
Esempio n. 3
0
 def testHorizontalRuleMatch_cw_left(self):
     leftside = Side("left", self.makeEdgeDict(Edge("X  XXX", DIR.TOP)))
     rightside = Side("right", self.makeEdgeDict(Edge(" XX   ", DIR.LEFT)))
     rule = HorizontalRule('A', ROT.FROM_CODE['+'], 'B', ROT.NONE)
     check = rule.check(Arrangement([leftside, rightside]))
     self.assertTrue(check)
Esempio n. 4
0
 def testHorizontalRuleMatch_noRotation(self):
     leftside = Side("left", self.makeEdgeDict(Edge("X  XXX", DIR.RIGHT)))
     rightside = Side("right", self.makeEdgeDict(Edge(" XX   ", DIR.LEFT)))
     rule = HorizontalRule('A', ROT.NONE, 'B', ROT.NONE)
     check = rule.check(Arrangement([leftside, rightside]))
     self.assertTrue(check)
Esempio n. 5
0
 def testVerticalRuleMatch_noRotation(self):
     topside = Side("top", self.makeEdgeDict(Edge("X  XXX", DIR.BOTTOM)))
     bottomside = Side("bottom", self.makeEdgeDict(Edge(" XX   ", DIR.TOP)))
     rule = VerticalRule('A', 'B')
     check = rule.check(Arrangement([topside, bottomside]))
     self.assertTrue(check)
Esempio n. 6
0
 def testEdgeDoesNotMatch_SpaceVsSpace(self):
     e1 = Edge("XX  X ", DIR.TOP)
     e2 = Edge("  XX  ", DIR.BOTTOM)
     self.assertTrue(e1.matches(e2))
Esempio n. 7
0
 def testEdgeDoesNotMatch_XvsX(self):
     e1 = Edge("XX  XX", DIR.TOP)
     e2 = Edge("  XX X", DIR.BOTTOM)
     self.assertFalse(e1.matches(e2))
Esempio n. 8
0
 def testEdgeMatch_orthogonal2(self):
     e1 = Edge("X  XXX", DIR.RIGHT)
     e2 = Edge(" XX   ", DIR.BOTTOM)
     self.assertTrue(e1.matches(e2))
Esempio n. 9
0
 def testEdgeMatch_parallel(self):
     e1 = Edge("X  XXX", DIR.TOP)
     e2 = Edge(" XX   ", DIR.BOTTOM)
     self.assertTrue(e1.matches(e2))