def test_marks_behavior(self): fti = queryUtility(IDexterityFTI, name='upfront.assessmentitem.content.assessmentitem') factory = fti.factory new_assessmentitem = createObject(factory) self.failUnless(IAssessmentItem.providedBy(new_assessmentitem)) fti = queryUtility(IDexterityFTI, name='upfront.assessmentitem.content.answer') factory = fti.factory new_answer = createObject(factory) self.failUnless(IAnswer.providedBy(new_answer)) marks_behavior = getUtility(IBehavior, name = 'upfront.assessmentitem.behaviors.IMarks') # We expect this behavior to be a form field provider. Let's verify that self.failUnless( IFormFieldProvider.providedBy(marks_behavior.interface) ) # assert that you cannot add this behavior to a non-dexterity # content type doc = Document('doc') marks_adapter = IMarks(doc, None) self.assertEquals(False, marks_adapter is not None) # assert that new_assessmentitem object implements the behavior marks_adapter2 = IMarks(new_assessmentitem, None) self.assertEquals(True, marks_adapter2 is not None) # assert that new_answer object does not implements the behavior marks_adapter3 = IMarks(new_answer, None) self.assertEquals(False, marks_adapter3 is not None)
def test_answer_factory(self): fti = queryUtility(IDexterityFTI, name='upfront.assessmentitem.content.answer') factory = fti.factory new_object = createObject(factory) self.failUnless(IAnswer.providedBy(new_object))