def test_mixed_inheritance(self):
        class AbstractDated(Entity):
            using_options(abstract=True)
            using_options_defaults(tablename=camel_to_underscore)

            #TODO: add defaults
            created_date = Field(DateTime)
            modified_date = Field(DateTime)

        class AbstractContact(Entity):
            using_options(abstract=True)
            using_options_defaults(identity=camel_to_underscore)

            first_name = Field(Unicode(50))
            last_name = Field(Unicode(50))

        class Contact(AbstractContact):
            using_options(inheritance='multi')

        class MixedDatedContact(AbstractDated, Contact):
            using_options(inheritance='multi')

        setup_all(True)

        assert MixedDatedContact.table.columns in 'created_date'
        assert 'modified_date' in MixedDatedContact.table.columns
        assert MixedDatedContact._descriptor.identity == 'mixed_dated_contact'
        assert MixedDatedContact.table.name == 'mixed_dated_contact'

        contact1 = MixedDatedContact(first_name=u"Guido",
                                     last_name=u"van Rossum")
        session.commit()
dataset/ETHPy150Open jmg/elixir/tests/test_abstract.py/TestAbstractInheritance.test_mixed_inheritance/swapped operands of `in`