def METHOD_NAME(self):
    pmg_structure = self.get_structure("Si")  # This is a pymatgen structure.
    abi_structure = abi_Structure.as_structure(self.get_structure("Si"))  # This is an Abipy structure.
    sub_model = SubModel(abi_structure=abi_structure)
    abinit_input = self.get_gsinput_si()
    top_model = Top(pmg_structure=pmg_structure, submodel=sub_model,
                         abinit_input=abinit_input, items=[4.2, 5.3, 6.0])
    # Note how pydantic has converted items to int.
    assert top_model.items == [4, 5, 6]
    # Test pydantic API
    pydantic_json_string = top_model.json()
    assert "Top" not in pydantic_json_string
    monty_json_string = top_model.to_json()
    assert "Top" in monty_json_string
    monty_dict = top_model.as_dict()
    same_top_model = Top.from_dict(monty_dict)
    assert same_top_model.class_type is SubModel
    assert isinstance(pmg_structure, pmg_Structure)
    assert same_top_model.pmg_structure == pmg_structure
    assert isinstance(same_top_model.submodel.abi_structure, abi_Structure)
    assert same_top_model.submodel.abi_structure == pmg_structure
    #assert same_top_model.abinit_input == abinit_input
    #self.assert_msonable(top_model, test_if_subclass=True)
    #assert 0
    collection = mongomock.MongoClient().db.collection
    oid = top_model.mng_insert(collection)
    assert oid
    same_model = Top.from_oid(oid, collection)
    assert same_model.pmg_structure == pmg_structure
    same_model.mng_full_update_oid(oid, collection)
    models = [top_model, same_model]
    oids = mng_insert_models(models, collection)
    assert len(oids) == 2
    query = {}
    qr = Top.mng_find(query, collection)
    assert bool(qr) and len(qr) == 3
    assert len(qr.models) == 3
    assert set(qr.oids) == set(oids + [oid])