class TestQueryField(TestCase): def setUp(self): table = BaseTable('my_table') self.field = BaseField('my_field', table) def test_should_return_equal_query(self): compare = self.field == 2 self.assertEqual(compare.query, '`my_table`.`my_field` = 2') def test_should_return_not_equal_query(self): compare = self.field != 2 self.assertEqual(compare.query, '`my_table`.`my_field` <> 2') def test_should_return_greater_than_query(self): compare = self.field > 2 self.assertEqual(compare.query, '`my_table`.`my_field` > 2') def test_should_return_greater_or_equal_than_query(self): compare = self.field >= 2 self.assertEqual(compare.query, '`my_table`.`my_field` >= 2') def test_should_return_lower_than_query(self): compare = self.field < 2 self.assertEqual(compare.query, '`my_table`.`my_field` < 2') def test_should_return_lower_or_equal_than_query(self): compare = self.field <= 2 self.assertEqual(compare.query, '`my_table`.`my_field` <= 2') def test_should_invert_field(self): field1 = ~self.field self.assertNotEqual(id(self.field), id(field1)) self.assertTrue(field1.invert) def test_should_not_invert_field(self): self.assertFalse(self.field.invert) def test_should_return_regexp_query(self): compare = self.field.regexp('a.*') self.assertEqual(compare.query, "`my_table`.`my_field` REGEXP 'a.*'") def test_should_return_regexp_not_query(self): compare = ~self.field.regexp('a.*') self.assertEqual(compare.query, "NOT (`my_table`.`my_field` REGEXP 'a.*')") def test_should_return_equal_not_query(self): compare = ~self.field == 2 self.assertEqual(compare.query, "NOT (`my_table`.`my_field` = 2)")