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')
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')
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'
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())
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')