def test_referenceAttributeCreating(self): dummyParent = _DummyParentItem(store=self.store, r=None) model = ItemModel(dummyParent) self.assertIdentical(dummyParent.r, None) model.process() self.assertEquals(dummyParent.r.i, 5)
def test_itemEditing(self): model = ItemModel(item=_DummyItem(store=self.store)) model.params['i'].value = 7 model.params['t'].value = u'foo' model.process() self.assertEquals(model.item.i, 7) self.assertEquals(model.item.t, u'foo')
def test_referenceAttributeEditing(self): dummyChild = _DummyChildItem(store=self.store, i=5) dummyParent = _DummyParentItem(store=self.store, r=dummyChild) model = ItemModel(dummyParent) self.assertIdentical(dummyParent.r, dummyChild) model.params['r'].model.params['i'].value = 6 model.process() self.assertIdentical(dummyParent.r, dummyChild) self.assertEquals(dummyChild.i, 6)
def test_itemCreation(self): model = ItemModel(itemClass=_DummyItem, store=self.store) model.params['i'].value = 7 model.params['t'].value = u'foo' self.assertIdentical(model.item, None) model.process() self.assertEquals(model.item.i, 7) self.assertEquals(model.item.t, u'foo')
def test_schemaIgnore(self): """ Test that ignoredAttributes is respected. """ store = Store() model = ItemModel(itemClass=_DummyItem, store=store, ignoredAttributes=set(['tl'])) params = model.params self.assertNotIn('tl', params)
def test_itemAnalysis(self): dummyItem = _DummyItem(store=self.store, i=5, t=u'text', tl=[u'text1', u'text2']) model = ItemModel(item=dummyItem) params = model.params for k in params: p1 = params[k] p2, classDefault, itemDefault = self.expectedParams[k] self.assertEquals(p1.value, itemDefault)
def test_schemaAnalysis(self): """ Test that parameters are correctly synthesized from an Item schema. """ store = Store() model = ItemModel(itemClass=_DummyItem, store=store) params = model.params self.assertEquals(params.keys(), self.expectedParams.keys()) for k in params: p1 = params[k] p2, classDefault, itemDefault = self.expectedParams[k] self.assertIdentical(type(p1), type(p2)) self.assertEquals(p1.name, p2.name) self.assertEquals(p1.value, classDefault) self.assertEquals(p1.doc, p2.doc)