def test_no_tabs(self): p = MySQLInsertProtocol() row1 = p.write('score', [1, 1.0, 1.25]) row2 = p.write('score', [0, None, None]) self.assertNotEqual(row1.split('\t')[0], row2.split('\t')[0])
def test_insert(self): p = MySQLInsertProtocol() key, value = p.read( "INSERT INTO `user` VALUES" " (1,'David Marin',25.25,0xC0DE,NULL);") self.assertEqual( (key, value), (u'user', [1, u'David Marin', 25.25, '\xc0\xde', None]))
def test_tabs(self): p = MySQLInsertProtocol(output_tab=True) row1 = p.write('score', [1, 1.0, 1.25]) row2 = p.write('score', [0, None, None]) row3 = p.write('user', [2, u'Nully Nullington', None, None, None]) self.assertEqual(row1.split('\t')[0], row2.split('\t')[0]) self.assertNotEqual(row1.split('\t')[0], row3.split('\t')[0])
def test_decimal(self): p = MySQLInsertProtocol(decimal=True) key, value = p.read("INSERT INTO `score` (1, 1.0, 1.25)") self.assertEqual(key, 'score') self.assertEqual(value, [1, Decimal('1.0'), Decimal('1.25')]) self.assertEqual([type(x) for x in value], [int, Decimal, Decimal])
def test_int_vs_float(self): p = MySQLInsertProtocol() key, value = p.read("INSERT INTO `score` (1, 1.0, 1.25)") self.assertEqual(key, 'score') self.assertEqual(value, [1, 1.0, 1.25]) self.assertEqual([type(x) for x in value], [int, float, float])