def _assert_doc_hierarchy_level(doc, is_update): """Assert hierarchy level information.""" tu.assert_object(doc.hierarchy_level, cim.v1.DataHierarchyLevel) h = doc.hierarchy_level tu.assert_bool(h.is_open, True) tu.assert_str(h.name, "experiment") tu.assert_str(h.value, "HADGEM2_20C3M_1_D0_hus700")
def _assert_doc_core(doc, is_update): """Assert core information.""" tu.assert_iter(doc.esm_model_grids, 1, cim.v1.GridMosaic) g = doc.esm_model_grids[0] tu.assert_iter(g.citations, 2, cim.v1.Citation) tu.assert_str(g.description, "Specification of the atmosphere", True) tu.assert_bool(g.is_leaf, True) tu.assert_str(g.long_name, "Met Office Unified Model 192", True) tu.assert_str(g.short_name, "UM N96L38 ATM Grid System") tu.assert_str(g.type, "regular_lat_lon")
def assert_meta_info(meta): """Asserts a document's meta-information. :param object meta: Document meta information. """ tu.assert_iter(meta.external_ids, 2, cim.v1.StandardName) id = meta.external_ids[0] tu.assert_bool(id.is_open, True) tu.assert_iter(id.standards, 1, cim.v1.Standard) tu.assert_str(id.value, "MOHC_HadGEM2-A_amip_r1i1p1_1978") std = id.standards[0] tu.assert_str(std.description, "The QN_DRS value allows", True) tu.assert_str(std.name, "QN_DRS")
def _assert_doc_conformances(doc, is_update): """Assert simulation conformances.""" tu.assert_iter(doc.conformances, 13, cim.v1.Conformance) c = doc.conformances[0] tu.assert_str(c.type, "standard config") tu.assert_iter(c.requirements_references, 1, cim.v1.DocReference) ref = c.requirements_references[0] tu.assert_str(ref.description, "Reference to a NumericalRequirement", True) tu.assert_uuid(ref.id, "9fa513fc-d3a5-11df-837f-00163e9152a5") tu.assert_str(ref.name, "ic.003") tu.assert_str(ref.type, "NumericalRequirement") tu.assert_int(ref.version, 1) c = doc.conformances[7] tu.assert_str(c.description, "Prescribed land use", True) tu.assert_bool(c.is_conformant, True) tu.assert_str(c.type, "via inputs")
def _assert_doc_sub_components(doc, is_update): """Assert sub-components.""" tu.assert_int(doc.sub_components, 4) sc = doc.sub_components[0] tu.assert_int(sc.citations, 1) tu.assert_str(sc.description, "The model includes interactive schemes", True) tu.assert_uuid(sc.meta.id, "7a44cb24-03ca-11e1-a36a-00163e9152a5") tu.assert_int(sc.meta.version, 1) tu.assert_date(sc.meta.create_date, "2012-04-23 14:59:04.757315") tu.assert_str(sc.long_name, "Aerosols") tu.assert_int(sc.properties, 4) tu.assert_int(sc.responsible_parties, 4) tu.assert_int(sc.sub_components, 3) tu.assert_str(sc.short_name, "Aerosols") tu.assert_str(sc.type, "Aerosols") tu.assert_int(sc.types, 3) # Property. p = sc.properties[0] tu.assert_bool(p.is_represented, True) tu.assert_str(p.long_name, "Aerosols") tu.assert_str(p.short_name, "Aerosol Key Properties") tu.assert_int(p.sub_properties, 6) p = sc.properties[2] tu.assert_int(p.standard_names, 1) tu.assert_str(p.standard_names[0], "tendency_of_atmosphere", True) tu.assert_str(p.units, "kg/m2/s") # Sub-property. p = sc.properties[0].sub_properties[0] tu.assert_str(p.short_name, "AerosolSchemeScope") tu.assert_str(p.long_name, "AerosolSchemeScope") tu.assert_int(p.values, 1) tu.assert_str(p.values[0], "Whole atmosphere")
def _test_module_setup(mod): """Test that the test document module is correctly setup.""" tu.assert_bool(mod in tt.MODULES, True) tu.assert_bool(mod in tt.INITIAL_STATE, True) for field in tt.STATE_FIELDS: tu.assert_bool(hasattr(mod, field), True)