Пример #1
0
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, ))
Пример #2
0
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)
Пример #3
0
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))
Пример #4
0
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))
Пример #5
0
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))
Пример #6
0
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))
Пример #7
0
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))
Пример #8
0
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")))
Пример #9
0
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)
Пример #10
0
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))
Пример #11
0
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))
Пример #12
0
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))
Пример #13
0
 def _create_ontology():
     ontology = create_ontology()
     assert_session_matches_expected(Session.get_current(), ontology)
Пример #14
0
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))
Пример #15
0
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)))