def test_sanitize_attribute_sequence(self): def len_sequential(target): return len( [attr for attr in attrs if attr.restrictions.sequential]) restrictions = Restrictions(max_occurs=2, sequential=True) attrs = [ AttrFactory.create(restrictions=restrictions.clone()), AttrFactory.create(restrictions=restrictions.clone()), ] attrs_clone = [attr.clone() for attr in attrs] ClassUtils.sanitize_attribute_sequence(attrs, 0) self.assertEqual(2, len_sequential(attrs)) attrs[0].restrictions.sequential = False ClassUtils.sanitize_attribute_sequence(attrs, 0) self.assertEqual(1, len_sequential(attrs)) ClassUtils.sanitize_attribute_sequence(attrs, 1) self.assertEqual(0, len_sequential(attrs)) attrs_clone[1].restrictions.sequential = False ClassUtils.sanitize_attribute_sequence(attrs_clone, 0) self.assertEqual(0, len_sequential(attrs_clone))
def test_clone(self): restrictions = Restrictions(max_occurs=2) clone = restrictions.clone() self.assertEqual(clone, restrictions) self.assertIsNot(clone, restrictions)