145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgfrom tests import TestCase, add
245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgfrom yasm import Expression
345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgimport operator
445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgclass TExpression(TestCase):
645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    def test_create(self):
745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org        e1 = Expression(operator.add, 1, 2)
845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org        e2 = Expression('+', 1, 2)
945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
1045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org        self.assertEquals(e1.get_intnum(), e1.get_intnum())
1145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
1245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    def test_extract(self):
1345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org        e1 = Expression('/', 15, 5)
1445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org        self.assertEquals(e1.get_intnum(), 3)
1545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org        self.assertRaises(ValueError, e1.extract_segoff)
1645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org        self.assertRaises(ValueError, e1.extract_wrt)
1745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
1845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgadd(TExpression)
19