def test_roundtrip_check_values(self): conn = connect() foo1 = Foo.new(foo_id=1, i1=101, s1="alpha", d1=datetime.date(2006, 6, 12)) conn.insert(Foo, foo1) foo_list = conn.select(Foo) self.assertEquals([foo1], foo_list) foo2 = foo_list[0] Foo.check_values(foo2)
def test_check_values(self): # defaults / None foo = Foo.new() auto_id = Foo.check_values(foo) self.assert_(auto_id) # given values / no None foo = { "foo_id": 42, "i1": 101, "s1": "alpha", "d1": date(2006,6,6), } auto_id = Foo.check_values(foo) self.assertFalse(auto_id) # bad value foo = Foo.new() foo["i1"] = "bar" try: Foo.check_values(foo) except TypeError, e: self.assertEquals("IntCol 'i1': int expected, got str", str(e))
auto_id = Foo.check_values(foo) self.assertFalse(auto_id) # bad value foo = Foo.new() foo["i1"] = "bar" try: Foo.check_values(foo) except TypeError, e: self.assertEquals("IntCol 'i1': int expected, got str", str(e)) else: self.fail() # bad value foo = Foo.new() foo["s1"] = 1.1 try: Foo.check_values(foo) except TypeError, e: self.assertEquals("UnicodeCol 's1': unicode expected, got float", str(e)) else: self.fail() # unknown columns ignored foo = Foo.new(s2=None) foo["s3"] = 1.2 auto_id = Foo.check_values(foo) self.assert_(True, auto_id) def test_q(self): q = Foo.q # existing columns q_foo_id = Foo.q.foo_id q_i1 = Foo.q.i1