

def test__find_by_attributes_return_fields_elemMatch(self):
    id = ObjectId()
    self.cmp.do.insert({
        '_id': id,
        'owns': [{
            'type': 'hat',
            'color': 'black',
        }, {
            'type': 'hat',
            'color': 'green',
        }, {
            'type': 't-shirt',
            'color': 'black',
            'size': 'small',
        }, {
            'type': 't-shirt',
            'color': 'black',
        }, {
            'type': 't-shirt',
            'color': 'white',
        }],
        'hat': 'red',
    })
    elem = {
        '$elemMatch': {
            'type': 't-shirt',
            'color': 'black',
        },
    }
    elem.cmp.compare.find({
        '_id': id,
    }, {
        'owns': elem,
    })
    self.cmp.compare.find({
        '_id': id,
    }, {
        'owns': elem,
        'hat': 1,
    })
    self.cmp.compare.find({
        '_id': id,
    }, {
        'owns': elem,
        'hat': 0,
    })
    self.cmp.compare.find({
        '_id': id,
    }, {
        'hat': elem,
    })
    self.cmp.compare.find({
        '_id': id,
    }, {
        'owns': {
            '$elemMatch': {
                'type': 'cap',
            },
        },
    })

dataset/ETHPy150Open vmalloc/mongomock/tests/test__mongomock.py MongoClientCollectionTest.test__find_by_attributes_return_fields_elemMatch/VarMisuse@142/227 `self`->`elem`