Пример #1
0
 def _test_evaluates_to(self,xxx, val):
     self.assertEqual( expressions.evaluate(xxx), val )
     self.assertTrue( isinstance(expressions.evaluate(xxx), Number) )
     self.assertEqual( xxx, val )
     self.assertTrue( xxx.is_def() )
     self.assertEqual( xxx.evaluate(), val )
     self.assertEqual( xxx.val(), val )
     self.assertEqual( str(xxx), str(val) )
     self.assertEqual( xxx.name_or_value(), str(val) )
Пример #2
0
 def test_undef(self):
     p1 = Point()
     p1.x = 3
     self.assertEqual( len(expressions.constraints()), 1 )
     self.assertEqual( expressions.evaluate(p1.x), 3 )
     self.assertEqual( expressions.evaluate(p1.x==3), True )
     self.assertTrue( bool(p1.x==3) )
     self.assertFalse( p1.y.is_def() )
     self.assertEqual( p1==Point(3,3), expressions.undefined() )
     self.assertEqual( p1==Point(0,0), False )
     self.assertEqual( p1==Point(), expressions.undefined() )
Пример #3
0
 def test_syntax_constrain(self):
     system = expressions.System()
     a = expressions.Var()
     system.constrain( 3==a*2 )
     expressions.constrain( a == 15 )
     self.assertEqual( system.evaluate(a), 1.5 )
     self.assertEqual( expressions.evaluate(a), 15 )
Пример #4
0
 def _test_is_undef(self,xxx):
     self.assertEqual( expressions.evaluate(xxx), expressions.undefined() )
     self.assertEqual( str(xxx), 'undefined' )
     self.assertEqual( xxx.evaluate(), expressions.undefined() )
     self.assertEqual( str(xxx.evaluate()), 'undefined' )
     self.assertFalse( xxx.is_def() )
     self.assertEqual( xxx.name_or_value(), xxx.name() )
Пример #5
0
 def sim_draw(self, str=""):
     if self._text:
         return str + ' >> Drawing "'+self._text+'" at {:},{:}\n"'.format(int(evaluate(self.pt.x)),int(evaluate(self.pt.y)))
Пример #6
0
 def free_vars(self):
     for x in self.vars():
         if is_undef(evaluate(x)):
             yield x
Пример #7
0
 def sim_draw(self, str=""):
     return str + " >> Drawing line from {:},{:} to {:},{:}\n".format(int(evaluate(self.pt1.x)),int(evaluate(self.pt1.y)),
                                                                      int(evaluate(self.pt2.x)),int(evaluate(self.pt2.y)))
Пример #8
0
 def sim_draw(self, str=""):
     return str + " >> Drawing circle about {:},{:} with radius {:}\n".format(int(evaluate(self.c.x)),int(evaluate(self.c.y)),int(evaluate(self.r)))
Пример #9
0
 def draw_pil(self, draw):
     draw.line((int(evaluate(self.pt1.x)),
                int(evaluate(self.pt1.y)),
                int(evaluate(self.pt2.x)),
                int(evaluate(self.pt2.y))), fill = self._col)
     return draw
Пример #10
0
 def draw_tk(self, canvas):
     canvas.create_line(int(evaluate(self.pt1.x)),
                        int(evaluate(self.pt1.y)),
                        int(evaluate(self.pt2.x)),
                        int(evaluate(self.pt2.y)), fill = self._col)        
     return canvas
Пример #11
0
def conv(expr):
    return int(evaluate(expr)+0.5)
Пример #12
0
 def draw_pil(self,draw):
     if self._text:
         sz = draw.textsize(self._text)
         draw.text((int(evaluate(self.pt.x)),int(evaluate(self.pt.y))-sz[1]),self._text, fill = self._col)
     return draw
Пример #13
0
 def draw_tk(self,canvas):
     if self._text:
         canvas.create_text(int(evaluate(self.pt.x)),int(evaluate(self.pt.y)),text=self._text,anchor=self._anchor)
     return canvas