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`)')
def test_basic(self): select = SelectStatement() column = Column(Integer, 'test') select.append(column, column.name) self.assertEqual(select.as_sql(), '`id`, `test` AS test')
def test_two_columns(self): select = SelectStatement() column = Column(Integer, 'test') select.append(column, column.name) select.append(column*2, 'ss') select.append(column*3) self.assertEqual(select.sql(), '`id`, `test` AS test, `test` * 2 AS ss, `test` * 3')
def setUp(self): self.column = Column(Integer, 'test') self.column1 = Column(Integer, 'test1')