Exemple #1
0
    def testFactories(self):
        impl = superposition.BaseSuperposition.impl_for_type(
            typedesc=types.TypeFactory(str))
        self.assertEqual(impl, superposition.HashableSuperposition)

        self.assertIsInstance(
            impl.merge_values(("foo", "bar"), types.TypeFactory(str)),
            superposition.HashableSuperposition)
Exemple #2
0
    def testList(self):
        impl = superposition.ListSuperposition
        s1 = impl.merge_values(variants=(["foo"], ["bar"], ["bar"]),
                               typedesc=types.TypeFactory(list))

        self.assertTrue(["bar"] in s1)
        self.assertEqual(len(s1), 2)
        self.assertEqual(sorted(s1), [["bar"], ["foo"]])
Exemple #3
0
 def __init__(self, name, typedesc, docstring, component=None,
              hidden=False, width=20, style="compact"):
     self.name = name
     self.typedesc = types.TypeFactory(typedesc)
     self.docstring = docstring
     self.component = component
     self.hidden = hidden
     self.width = width
     self.style = style
Exemple #4
0
    def testHashable(self):
        impl = superposition.HashableSuperposition
        s1 = impl.merge_values(variants=("foo", "bar", "foo"),
                               typedesc=types.TypeFactory(str))
        self.assertEqual(sorted(s1), ["bar", "foo"])
        self.assertEqual(len(s1), 2)
        self.assertTrue("foo" in s1)
        self.assertFalse("FOO" in s1)
        self.assertFalse(5 in s1)

        s1.add(5)
        s1.add(5)
        self.assertTrue("5" in s1)
        self.assertEqual(sorted(s1), ["5", "bar", "foo"])

        s2 = impl(variants=("foo", ), typedesc=types.TypeFactory(str))
        self.assertTrue(s1.issuperset(s2))
        s2.add("baz")
        self.assertFalse(s1.issuperset(s2))
Exemple #5
0
 def __init__(self, typedesc, variants):
     self.typedesc = types.TypeFactory(typedesc)
     self._backing_container = self._make_container(variants)