| Index: tools/telemetry/third_party/gsutilz/third_party/pyasn1/test/type/test_constraint.py
|
| diff --git a/tools/telemetry/third_party/gsutilz/third_party/pyasn1/test/type/test_constraint.py b/tools/telemetry/third_party/gsutilz/third_party/pyasn1/test/type/test_constraint.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3457c0fc375f82655c25b9c0fc6e46ec7155254a
|
| --- /dev/null
|
| +++ b/tools/telemetry/third_party/gsutilz/third_party/pyasn1/test/type/test_constraint.py
|
| @@ -0,0 +1,280 @@
|
| +from pyasn1.type import constraint, error
|
| +from pyasn1.error import PyAsn1Error
|
| +from sys import version_info
|
| +if version_info[0:2] < (2, 7) or \
|
| + version_info[0:2] in ( (3, 0), (3, 1) ):
|
| + try:
|
| + import unittest2 as unittest
|
| + except ImportError:
|
| + import unittest
|
| +else:
|
| + import unittest
|
| +
|
| +class SingleValueConstraintTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.SingleValueConstraint(1,2)
|
| + self.c2 = constraint.SingleValueConstraint(3,4)
|
| +
|
| + def testCmp(self): assert self.c1 == self.c1, 'comparation fails'
|
| + def testHash(self): assert hash(self.c1) != hash(self.c2), 'hash() fails'
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1(1)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1(4)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class ContainedSubtypeConstraintTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ContainedSubtypeConstraint(
|
| + constraint.SingleValueConstraint(12)
|
| + )
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1(12)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1(4)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class ValueRangeConstraintTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ValueRangeConstraint(1,4)
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1(1)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1(-5)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class ValueSizeConstraintTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ValueSizeConstraint(1,2)
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1('a')
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1('abc')
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class PermittedAlphabetConstraintTestCase(SingleValueConstraintTestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.PermittedAlphabetConstraint('A', 'B', 'C')
|
| + self.c2 = constraint.PermittedAlphabetConstraint('DEF')
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1('A')
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1('E')
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class ConstraintsIntersectionTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ConstraintsIntersection(
|
| + constraint.SingleValueConstraint(4),
|
| + constraint.ValueRangeConstraint(2, 4)
|
| + )
|
| +
|
| + def testCmp1(self):
|
| + assert constraint.SingleValueConstraint(4) in self.c1, '__cmp__() fails'
|
| +
|
| + def testCmp2(self):
|
| + assert constraint.SingleValueConstraint(5) not in self.c1, \
|
| + '__cmp__() fails'
|
| +
|
| + def testCmp3(self):
|
| + c = constraint.ConstraintsUnion(constraint.ConstraintsIntersection(
|
| + constraint.SingleValueConstraint(4),
|
| + constraint.ValueRangeConstraint(2, 4)
|
| + ))
|
| + assert self.c1 in c, '__cmp__() fails'
|
| + def testCmp4(self):
|
| + c = constraint.ConstraintsUnion(
|
| + constraint.ConstraintsIntersection(constraint.SingleValueConstraint(5))
|
| + )
|
| + assert self.c1 not in c, '__cmp__() fails'
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1(4)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1(-5)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class InnerTypeConstraintTestCase(unittest.TestCase):
|
| + def testConst1(self):
|
| + c = constraint.InnerTypeConstraint(
|
| + constraint.SingleValueConstraint(4)
|
| + )
|
| + try:
|
| + c(4, 32)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + try:
|
| + c(5, 32)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| + def testConst2(self):
|
| + c = constraint.InnerTypeConstraint(
|
| + (0, constraint.SingleValueConstraint(4), 'PRESENT'),
|
| + (1, constraint.SingleValueConstraint(4), 'ABSENT')
|
| + )
|
| + try:
|
| + c(4, 0)
|
| + except error.ValueConstraintError:
|
| + raise
|
| + assert 0, 'constraint check fails'
|
| + try:
|
| + c(4, 1)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| + try:
|
| + c(3, 0)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +# Constraints compositions
|
| +
|
| +class ConstraintsIntersectionTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ConstraintsIntersection(
|
| + constraint.ValueRangeConstraint(1, 9),
|
| + constraint.ValueRangeConstraint(2, 5)
|
| + )
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1(3)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1(0)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class ConstraintsUnionTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ConstraintsUnion(
|
| + constraint.SingleValueConstraint(5),
|
| + constraint.ValueRangeConstraint(1, 3)
|
| + )
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1(2)
|
| + self.c1(5)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1(-5)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +class ConstraintsExclusionTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ConstraintsExclusion(
|
| + constraint.ValueRangeConstraint(2, 4)
|
| + )
|
| +
|
| + def testGoodVal(self):
|
| + try:
|
| + self.c1(6)
|
| + except error.ValueConstraintError:
|
| + assert 0, 'constraint check fails'
|
| + def testBadVal(self):
|
| + try:
|
| + self.c1(2)
|
| + except error.ValueConstraintError:
|
| + pass
|
| + else:
|
| + assert 0, 'constraint check fails'
|
| +
|
| +# Constraints derivations
|
| +
|
| +class DirectDerivationTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.SingleValueConstraint(5)
|
| + self.c2 = constraint.ConstraintsUnion(
|
| + self.c1, constraint.ValueRangeConstraint(1, 3)
|
| + )
|
| +
|
| + def testGoodVal(self):
|
| + assert self.c1.isSuperTypeOf(self.c2), 'isSuperTypeOf failed'
|
| + assert not self.c1.isSubTypeOf(self.c2) , 'isSubTypeOf failed'
|
| + def testBadVal(self):
|
| + assert not self.c2.isSuperTypeOf(self.c1) , 'isSuperTypeOf failed'
|
| + assert self.c2.isSubTypeOf(self.c1) , 'isSubTypeOf failed'
|
| +
|
| +class IndirectDerivationTestCase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.c1 = constraint.ConstraintsIntersection(
|
| + constraint.ValueRangeConstraint(1, 30)
|
| + )
|
| + self.c2 = constraint.ConstraintsIntersection(
|
| + self.c1, constraint.ValueRangeConstraint(1, 20)
|
| + )
|
| + self.c2 = constraint.ConstraintsIntersection(
|
| + self.c2, constraint.ValueRangeConstraint(1, 10)
|
| + )
|
| +
|
| + def testGoodVal(self):
|
| + assert self.c1.isSuperTypeOf(self.c2), 'isSuperTypeOf failed'
|
| + assert not self.c1.isSubTypeOf(self.c2) , 'isSubTypeOf failed'
|
| + def testBadVal(self):
|
| + assert not self.c2.isSuperTypeOf(self.c1) , 'isSuperTypeOf failed'
|
| + assert self.c2.isSubTypeOf(self.c1) , 'isSubTypeOf failed'
|
| +
|
| +if __name__ == '__main__': unittest.main()
|
| +
|
| +# how to apply size constriants to constructed types?
|
|
|