class Contact(Entity): firstname = Attribute(displayname="First Name") lastname = Attribute(displayname="Last Name", notnull=True, primary=True) gender = Attribute(displayname="Gender", notnull=True, validate=Picklist(Male=1, Female=2, Unknown=0)) telephone = Attribute(displayname="Telephone")
def test_create(self): a = Attribute() self.assertEqual(a.coldef,'') self.assertEqual(a.validate,None) self.assertEqual(a.displayname,None) self.assertEqual(a.primary,False) self.assertEqual(a.displayclass,None) self.assertEqual(a.htmlescape,False) def f(x):return x a = Attribute(affinity='float',unique=True,notnull=True,default=0.1,validate=f,displayname='A',primary=True,displayclass='a b',htmlescape=True) self.assertEqual(a.coldef,'float unique not null default 0.1 ') self.assertEqual(a.validate,f) self.assertEqual(a.displayname,'A') self.assertEqual(a.primary,True) self.assertEqual(a.displayclass,'a b') self.assertEqual(a.htmlescape,True) a = Attribute(validate=Picklist(one=1,two=2)) self.assertEqual(a.validate['one'],1)
class Address(Entity): address = Attribute(displayname="Address", notnull=True, primary=True) city = Attribute(displayname="City") zipcode = Attribute(displayname="Zip") country = Attribute(displayname="Country") telephone = Attribute(displayname="Telephone")
class Account(Entity): name = Attribute(notnull=True, displayname="Name", primary=True) created = Attribute(notnull=True, default="CURRENT_DATE", displayclass="mb-date")
class User(Entity): name = Attribute(notnull=True, unique=True, displayname="Name", primary=True)
class Account(Entity): name = Attribute(notnull=True, displayname="Name", primary=True)
class ConcreteEntityB(self.e): a = Attribute()
class B(self.e): b = Attribute()
class A(self.e): a = Attribute()
class User(Entity): name=Attribute(unique=True,notnull=True)
class ConcreteEntity5(self.e): a = Attribute(notnull=True)
class ConcreteEntity4(self.e): a = Attribute(unique=True)
class ConcreteEntity3(self.e): a = Attribute(default='oink') b = Attribute(default=0.3) c = Attribute(affinity='float',default=0.4) d = Attribute(affinity='text',default=0.4)
class ConcreteEntity2(self.e): a = Attribute(validate=lambda x:x>0) b = Attribute(validate=Picklist(one=1,two=2))