def test_execute(self):
        e = SubjectCondition()
        e.subject = ['Foo', ]

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)),
                             IExecutable)
        self.assertEquals(True, ex())

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(False, ex())

        e.subject = ['Bar', ]
        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(True, ex())
    def test_execute_object_without_subject(self):
        e = SubjectCondition()
        e.subject = ['Foo', 'Bar', ]

        ex = getMultiAdapter((self.folder, e,
                              DummyEvent(self.folder['cmf'])),
                             IExecutable)
        self.assertEquals(False, ex())
    def test_execute_object_without_subject(self):
        e = SubjectCondition()
        e.subject = [
            'Foo',
            'Bar',
        ]

        ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder['cmf'])),
                             IExecutable)
        self.assertEquals(False, ex())
    def test_execute(self):
        e = SubjectCondition()
        e.subject = [
            'Foo',
        ]

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)),
                             IExecutable)
        self.assertEquals(True, ex())

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(False, ex())

        e.subject = [
            'Bar',
        ]
        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(True, ex())
    def test_execute_empty(self):
        e = SubjectCondition()
        e.subject = []

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)),
                             IExecutable)
        self.assertEquals(False, ex())

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(False, ex())

        # Empty Subject field
        self.sub_folder.setSubject([])
        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(True, ex())
    def test_execute_empty(self):
        e = SubjectCondition()
        e.subject = []

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)),
                             IExecutable)
        self.assertEquals(False, ex())

        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(False, ex())

        # Empty Subject field
        self.sub_folder.setSubject([])
        ex = getMultiAdapter((self.portal, e, DummyEvent(self.sub_folder)),
                             IExecutable)
        self.assertEquals(True, ex())