def test_rdfs_class_hierarchy_is_valid(): ontology = create_ontology() # XXX See the fixture ontology for the definitions of these types assert_that(ontology.Thing, is_(instance_of(type))) assert_that(ontology.Thing.__bases__, contains_inanyorder(RDFS_Class, )) assert_that(ontology.Organization, is_(instance_of(type))) assert_that(ontology.Organization.__name__, is_("Organization")) assert_that(ontology.Organization.__bases__, contains_inanyorder(ontology.Thing, )) assert_that( ontology.Organization.__subclasses__(), contains_inanyorder( ontology.Corporation, ontology.GovernmentOrganization, )) assert_that( text_type(ontology.Organization.__uri__), is_( equal_to("{}{}".format(ontology.__uri__, ontology.Organization.__name__)))) assert_that(ontology.Organization.label(lang="en"), contains_inanyorder("Organization")) assert_that(ontology.naics, is_(instance_of(type))) assert_that(ontology.naics.__name__, is_("naics")) assert_that(ontology.naics.__bases__, contains_inanyorder(RDF_Property, )) assert_that(ontology.naics.__uri__, is_(instance_of(string_types))) assert_that(ontology.naics.label(lang="en"), contains_inanyorder("naics")) assert_that(ontology.naics.domain, contains_inanyorder(ontology.Organization, ))
def test_default_session_registered_ontology_classes(): default_session = Session.get_current() default_session.clear() ontology = create_ontology() assert_session_matches_expected(default_session, ontology)
def test_valid_sub_property_assigment_for_a_subclass_instance_work(): ontology = create_ontology() domain_instance = ontology.GovernmentOrganization(label="Acme Inc.", ) range_instance = ontology.Person(label="John Doe", ) domain_instance.hasExecutive += range_instance assert_that(domain_instance.hasExecutive(range_instance), is_(True))
def test_invalid_properties_for_a_class_instance_constructor_raise_attribute_error( ): ontology = create_ontology() assert_that( calling(ontology.Organization).with_args(foo="bar"), raises(AttributeError))
def test_primitive_type_assigment_for_property_proxy_works(): ontology = create_ontology() instance = ontology.Organization() value = 156.4 instance.value += value assert_that(instance.value, contains_inanyorder(value))
def test_primitive_type_assigment_for_literal_property_proxy_works(): ontology = create_ontology() instance = ontology.Organization() label = 156.4 instance.label += label assert_that(instance.label, contains_inanyorder(label))
def test_direct_assigment_for_a_class_instance_property_raises_value_error(): ontology = create_ontology() domain_instance = ontology.Organization(label="Acme Inc.", ) def invalid_assigment_clause(): domain_instance.hasEmployee = "some-value" assert_that(calling(invalid_assigment_clause), raises(ValueError))
def test_xsd_type_assigment_for_literal_property_proxy_works(): ontology = create_ontology() instance = ontology.Country() currency_code = "USD" instance.currencyCode += currency_code assert_that(instance.currencyCode, contains_inanyorder(Literal(currency_code, lang="en")))
def test_session_context_manager_registers_ontology_classes_properly(): default_session = Session.get_current() default_session.clear() with session_context() as session: ontology = create_ontology() assert_session_matches_expected(session, ontology) assert_session_is_empty(default_session)
def test_core_rdfs_properties_for_a_class_instance_constructor_work(): ontology = create_ontology() label = "Acme Inc." comment = Literal("Acme Inc. es un fabricante de paneles solares", lang="es") instance = ontology.Organization(label=label, comment=comment) assert_that(instance.label(lang="en"), contains_inanyorder(label)) assert_that(instance.comment(lang="es"), contains_inanyorder(comment.value))
def test_invalid_domain_property_assigment_for_a_class_instance_raises_value_error( ): ontology = create_ontology() domain_instance = ontology.Organization(label="Acme Inc.", ) range_instance = ontology.Country(label="UnitedStates", ) def invalid_assigment_clause(): domain_instance.hasEmployee += range_instance assert_that(calling(invalid_assigment_clause), raises(ValueError))
def test_valid_property_assigment_for_a_class_instance_work(): ontology = create_ontology() domain_instance = ontology.Organization(label="Acme Inc.", ) range_instance = ontology.Person(label="John Doe", ) comment = "test comment" domain_instance.comment += comment domain_instance.hasEmployee += range_instance assert_that(domain_instance.hasEmployee(range_instance), is_(equal_to(True))) assert_that(domain_instance.comment(lang="en"), contains_inanyorder(comment))
def _create_ontology(): ontology = create_ontology() assert_session_matches_expected(Session.get_current(), ontology)
def test_instance_rdf_statements_are_valid(): ontology = create_ontology() instance = ontology.Organization(label="Acme Inc.") statements = list(instance.iter_rdf_statements()) assert_that(statements, has_length(1))
def test_nonexistant_property_language_tag_returns_none(): ontology = create_ontology() instance = ontology.Organization(label="Acme Inc.") assert_that(instance.label(lang="foo"), is_(equal_to(None)))