示例#1
0
def test_less_than():

    # Scenario values:
    test_value = {}

    test_value['value1'] = {
        'kraken:value': 'test2_1',
        'kraken:credibility': 30
    }
    test_value['value2'] = {'kraken:value': 'test_2', 'kraken:credibility': 40}

    expected_result = True

    # Test conditions
    kr1 = Kraken_attribute()
    kr1.set(test_value['value1'])

    kr2 = Kraken_attribute()
    kr2.set(test_value['value2'])

    actual_result = kr1 < kr2

    # Test evaluation
    # Test evaluation
    assert (actual_result == expected_result)
示例#2
0
def test_dict_value():

    # Scenario values:
    kr = Kraken_attribute()
    test_value = {'credibility': 30}

    # Test conditions

    kr.set(test_value)

    # Expected outcome
    result_credibility = 30

    # Test evaluation
    assert (kr.credibility == result_credibility)
示例#3
0
def test_simple_value():

    # Scenario values:
    kr = Kraken_attribute()
    test_value = 'test'

    # Test conditions

    kr.set(test_value)

    # Expected outcome
    value = 'test'

    # Test evaluation
    assert (kr.value == value)
示例#4
0
def test_null_value():

    # Scenario values:
    kr = Kraken_attribute()
    test_value = None

    # Test conditions

    kr.set(test_value)

    # Expected outcome
    result_value = None

    # Test evaluation

    assert (kr.value == result_value)
示例#5
0
    def set_attr(self, attr_name, attr_value):

        clean_attr_name = self._clean_key(attr_name)

        # COnvert to list if not one already
        if not isinstance(attr_value, list):
            attr_value = [attr_value]

        for i in attr_value:

           
            # Case: if sub-schema, create new record instance and link to ref_id
            sub_value = i.get('kraken:value', None)

            if isinstance(sub_value, dict):
                sub_type = sub_value.get('@type', None)
                if sub_type:

                    sub_kr = Kraken_record()
                    sub_kr.set(sub_value)
                    i['kraken:value'] = sub_kr.ref_id

                    # Assign newly created sub records and related sub records to .sub_records
                    self.sub_records.append(sub_kr)
                    self.sub_records += sub_kr.sub_records


            # Initialize new Attribute. 
            new_attribute = Kraken_attribute()
            new_attribute.set(i)

            # Add to list if not already in it. 
            list_attribute = self.attributes.get(clean_attr_name, [])

            if new_attribute not in list_attribute:
                list_attribute.append(new_attribute)
                self.attributes[clean_attr_name] = list_attribute


        return
示例#6
0
def test_less_than_2():

    # Scenario values:
    test_value = {}

    test_value['value1'] = {'value': 'test_31', 'credibility': 30}
    test_value['value2'] = {'value': 'test_2', 'credibility': 40}

    expected_result = False

    # Test conditions
    kr1 = Kraken_attribute()
    kr1.set(test_value['value1'])

    kr2 = Kraken_attribute()
    kr2.set(test_value['value2'])

    actual_result = kr2 < kr1

    # Test evaluation
    assert (actual_result == expected_result)
示例#7
0
def test_greater_or_equal_1():

    # Scenario values:
    test_value = {}

    test_value['value1'] = {'value': 'test_1', 'credibility': 30}
    test_value['value2'] = {'value': 'test_1', 'credibility': 30}

    expected_result = True

    # Test conditions
    kr1 = Kraken_attribute()
    kr1.set(test_value['value1'])

    kr2 = Kraken_attribute()
    kr2.set(test_value['value2'])

    actual_result = kr2 >= kr1

    # Test evaluation
    assert (actual_result == expected_result)