Example #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)
Example #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
Example #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)
Example #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)
Example #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)
Example #6
0
 def testEdgeDoesNotMatch_SpaceVsSpace(self):
     e1 = Edge("XX  X ", DIR.TOP)
     e2 = Edge("  XX  ", DIR.BOTTOM)
     self.assertTrue(e1.matches(e2))
Example #7
0
 def testEdgeDoesNotMatch_XvsX(self):
     e1 = Edge("XX  XX", DIR.TOP)
     e2 = Edge("  XX X", DIR.BOTTOM)
     self.assertFalse(e1.matches(e2))
Example #8
0
 def testEdgeMatch_orthogonal2(self):
     e1 = Edge("X  XXX", DIR.RIGHT)
     e2 = Edge(" XX   ", DIR.BOTTOM)
     self.assertTrue(e1.matches(e2))
Example #9
0
 def testEdgeMatch_parallel(self):
     e1 = Edge("X  XXX", DIR.TOP)
     e2 = Edge(" XX   ", DIR.BOTTOM)
     self.assertTrue(e1.matches(e2))