示例#1
0
class ExpressionTestCase(TestCase):

    def setUp(self):
        self.column = Column(Integer, 'test')
        self.column1 = Column(Integer, 'test1')

    def test_basic(self):
        self.assertEqual(self.column.type(), Integer)
        self.assertEqual(self.column.sql(), '`test`')

        self.column **= 2
        self.assertEqual(self.column.type(), Integer)
        self.assertEqual(self.column.sql(), 'POW(`test`, 2)')

    def test_plus(self):
        r = self.column + self.column1
        self.assertEqual(r.sql(), '`test` + `test1`')

        r = self.column + 2
        self.assertEqual(r.sql(), '`test` + 2')

        r = 2 + self.column
        self.assertEqual(r.sql(), '2 + `test`')

    def test_minus(self):
        r = self.column - 2
        self.assertEqual(r.sql(), '`test` - 2')

        r = -2 + self.column
        self.assertEqual(r.sql(), '-2 + `test`')

        r = -self.column + 2
        self.assertEqual(r.sql(), '-`test` + 2')

        r = 2 - self.column
        self.assertEqual(r.sql(), '2 - `test`')

    def test_times(self):
        r = self.column * 2
        self.assertEqual(r.sql(), '`test` * 2')

        r = 2 * self.column
        self.assertEqual(r.sql(), '2 * `test`')

    def test_divide(self):
        r = self.column / 2
        self.assertEqual(r.sql(), '`test` / 2')

        r = 2 / self.column
        self.assertEqual(r.sql(), '2 / `test`')

    def test_power(self):
        r = self.column ** 2
        self.assertEqual(r.sql(), 'POW(`test`, 2)')

        r = 2 ** self.column
        self.assertEqual(r.sql(), 'POW(2, `test`)')
class ExpressionTestCase(TestCase):
    def setUp(self):
        self.column = Column(Integer, 'test')
        self.column1 = Column(Integer, 'test1')

    def test_basic(self):
        self.assertEqual(self.column.type(), Integer)
        self.assertEqual(self.column.sql(), '`test`')

        self.column **= 2
        self.assertEqual(self.column.type(), Integer)
        self.assertEqual(self.column.sql(), 'POW(`test`, 2)')

    def test_plus(self):
        r = self.column + self.column1
        self.assertEqual(r.sql(), '`test` + `test1`')

        r = self.column + 2
        self.assertEqual(r.sql(), '`test` + 2')

        r = 2 + self.column
        self.assertEqual(r.sql(), '2 + `test`')

    def test_minus(self):
        r = self.column - 2
        self.assertEqual(r.sql(), '`test` - 2')

        r = -2 + self.column
        self.assertEqual(r.sql(), '-2 + `test`')

        r = -self.column + 2
        self.assertEqual(r.sql(), '-`test` + 2')

        r = 2 - self.column
        self.assertEqual(r.sql(), '2 - `test`')

    def test_times(self):
        r = self.column * 2
        self.assertEqual(r.sql(), '`test` * 2')

        r = 2 * self.column
        self.assertEqual(r.sql(), '2 * `test`')

    def test_divide(self):
        r = self.column / 2
        self.assertEqual(r.sql(), '`test` / 2')

        r = 2 / self.column
        self.assertEqual(r.sql(), '2 / `test`')

    def test_power(self):
        r = self.column**2
        self.assertEqual(r.sql(), 'POW(`test`, 2)')

        r = 2**self.column
        self.assertEqual(r.sql(), 'POW(2, `test`)')