'Ensure that an an abstract reference fails validation when given a
Document that does not inherit from the abstract type.'

def test_abstract_reference_base_type(self):

    class Sibling(Document, ):
        name = StringField()
        meta = {'abstract': True}
    class Brother(Sibling, ):
        sibling = ReferenceField(Sibling)
    class Mother(Document, ):
        name = StringField()
    Brother.drop_collection()
    Mother.drop_collection()
    mother = Mother(name='Carol')
    mother.save()
    brother = Brother(name='Bob', sibling=mother)
    self.assertRaises(ValidationError, brother.save)
