Пример #1
0
    def test_assign_value_with_repetition(self):
        field_str = 'xxx~yyy'
        f = Field()
        f.value = field_str
        self.assertEqual(f.to_er7(), 'xxx\R\yyy')

        f = Field('PID_2')
        f.value = field_str
        self.assertEqual(f.to_er7(), 'xxx\R\yyy')

        f = Field('PID_2', validation_level=VALIDATION_LEVEL.STRICT)
        f.value = field_str
        self.assertEqual(f.to_er7(), 'xxx\R\yyy')
Пример #2
0
    def test_assign_value_with_field_separator(self):
        field_str = 'xxx|yyy'
        escaped_str = 'xxx\F\yyy'
        f = Field('PID_3')
        f.value = field_str
        self.assertEqual(f.to_er7(), escaped_str)

        f = Field('PID_3', validation_level=VALIDATION_LEVEL.STRICT)
        f.value = field_str
        self.assertEqual(f.to_er7(), escaped_str)

        f = Field()
        f.value = field_str
        self.assertEqual(f.to_er7(), 'xxx\F\yyy')
Пример #3
0
    def test_assign_value(self):
        field_str = '1010110909194822^^^AUTH&1.3.6.1.4.1.21367.2011.2.5.17&ISO^PK'

        f = Field('PID_3')
        f.value = field_str
        parsed_field = parse_field(field_str, 'PID_3')
        self.assertEqual(f.to_er7(), parsed_field.to_er7())

        f = Field('PID_3', validation_level=VALIDATION_LEVEL.STRICT)
        f.value = field_str
        self.assertEqual(f.to_er7(), parsed_field.to_er7())

        f = Field('PID_1', validation_level=VALIDATION_LEVEL.STRICT)
        with self.assertRaises(MaxChildLimitReached):
            f.value = '1^2'
Пример #4
0
    def test_assign_value_traversal(self):
        cmp_str = 'xxx'
        f1 = Field('PID_39')
        f2 = Field('PID_39')
        f1.cwe_1.value = cmp_str
        f2.cwe_1 = cmp_str
        self.assertEqual(f1.to_er7(), f2.to_er7())

        s1 = Segment('PID')
        s2 = Segment('PID')
        s1.pid_39.pid_39_1.value = cmp_str
        s2.pid_39.pid_39_1 = cmp_str

        complex_cmp_str = 'xxx&yyy&zzz'
        f1 = Field('PID_4')
        f2 = Field('PID_4')
        f1.cx_10.value = complex_cmp_str
        f2.cx_10 = complex_cmp_str
        self.assertEqual(f1.to_er7(), f2.to_er7())

        s1.pid_4.pid_4_1.value = complex_cmp_str
        s2.pid_4.pid_4_1 = complex_cmp_str
        self.assertEqual(f1.to_er7(), f2.to_er7())
Пример #5
0
 def test_assign_value_with_overridden_datatype(self):
     a = Field('pid_3', 'CE') #official datatype is CX
     a.ce_1 = 'xyz'
     self.assertEqual(a.to_er7(), 'xyz')