Esempio n. 1
0
    def test_repr(self):
        s1 = TermSet({self.t1})
        self.assertEqual(repr(s1), f"TermSet({{Term({self.t1.id!r})}})")

        s2 = TermSet({self.t1, self.t2})
        self.assertIn(repr(s2), [
            f"TermSet({{Term({self.t1.id!r}), Term({self.t2.id!r})}})",
            f"TermSet({{Term({self.t2.id!r}), Term({self.t1.id!r})}})"
        ])
Esempio n. 2
0
    def test_add_empty(self):
        s1 = TermSet()
        self.assertEqual(len(s1), 0)

        s1.add(self.ms['MS:1000015'])
        s1.add(self.ms['MS:1000014'])
        self.assertEqual(len(s1), 2)

        self.assertIn(s1.pop(), {self.ms['MS:1000015'], self.ms['MS:1000014']})
        self.assertIn(s1.pop(), {self.ms['MS:1000015'], self.ms['MS:1000014']})
Esempio n. 3
0
    def test_inplace_and(self):
        s1 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s1 &= TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s1.ids), ['MS:1000015'])
        self.assertIsNot(s1._ontology, None)

        s2 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s2 &= {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s2.ids), ['MS:1000015'])
        self.assertIsNot(s2._ontology, None)

        s3 = TermSet()
        s3 &= {}
        self.assertEqual(sorted(s3.ids), [])
        self.assertIs(s3._ontology, None)
Esempio n. 4
0
    def test_and(self):
        s1 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s1 & TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s.ids), ['MS:1000015'])
        self.assertIsNot(s._ontology, None)

        s2 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s2 & {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s.ids), ['MS:1000015'])
        self.assertIsNot(s._ontology, None)

        s3 = TermSet()
        s = s3 & {}
        self.assertEqual(sorted(s.ids), [])
        self.assertIs(s._ontology, None)
Esempio n. 5
0
 def test_intersection_of(self):
     self.assertEqual(self.t1.intersection_of, TermSet())
     self.t1.intersection_of = {self.t2, self.t3}
     self.assertEqual(self.t1.intersection_of, {self.t2, self.t3})
     self.t1.intersection_of = {self.t2, (self.has_part, self.t3)}
     self.assertEqual(self.t1.intersection_of,
                      {self.t2, (self.has_part, self.t3)})
Esempio n. 6
0
 def test_contains(self):
     s = TermSet({self.t1, self.t2})
     self.assertIn(self.t1, s)
     self.assertIn(self.t2, s)
     self.assertNotIn(self.t3, s)
     self.assertIn(self.ont[self.t1.id], s)
     self.assertIn(self.ont[self.t2.id], s)
     self.assertNotIn(self.ont[self.t3.id], s)
Esempio n. 7
0
    def test_inplace_xor(self):
        s1 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s1 ^= TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s1.ids), ['MS:1000014', 'MS:1000016'])
        self.assertIsNot(s1._ontology, None)

        s2 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s2 ^= {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s2.ids), ['MS:1000014', 'MS:1000016'])
        self.assertIsNot(s2._ontology, None)

        s3 = TermSet()
        s3 ^= TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s3.ids), ['MS:1000015', 'MS:1000016'])
        self.assertIsNot(s3._ontology, None)

        s4 = TermSet({self.ms['MS:1000015'], self.ms['MS:1000016']})
        s4 ^= s4
        self.assertEqual(sorted(s4.ids), [])
        self.assertIs(s4._ontology, None)
Esempio n. 8
0
    def test_inplace_sub(self):
        s1 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s1 -= TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s1.ids), ['MS:1000014'])
        self.assertIsNot(s1._ontology, None)

        s2 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s2 -= {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s2.ids), ['MS:1000014'])
        self.assertIsNot(s2._ontology, None)

        s3 = TermSet()
        s3 -= TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s3.ids), [])
        self.assertIs(s3._ontology, None)

        s4 = TermSet()
        s4 -= {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s4.ids), [])
        self.assertIs(s4._ontology, None)
Esempio n. 9
0
    def test_inplace_xor(self):
        s1 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s1 ^ TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s.ids), ['MS:1000014', 'MS:1000016'])
        self.assertIsNot(s._ontology, None)

        s2 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s2 ^ {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s.ids), ['MS:1000014', 'MS:1000016'])
        self.assertIsNot(s._ontology, None)

        s3 = TermSet()
        s = s3 ^ TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s.ids), ['MS:1000015', 'MS:1000016'])
        self.assertIsNot(s._ontology, None)

        s4 = TermSet({self.ms['MS:1000015'], self.ms['MS:1000016']})
        s = s4 ^ s4
        self.assertEqual(sorted(s.ids), [])
        self.assertIs(s._ontology, None)
Esempio n. 10
0
    def test_sub(self):
        s1 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s1 - TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s.ids), ['MS:1000014'])
        self.assertIsNot(s._ontology, None)

        s2 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s2 - {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s.ids), ['MS:1000014'])
        self.assertIsNot(s._ontology, None)

        s3 = TermSet()
        s = s3 - TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s.ids), [])
        self.assertIs(s._ontology, None)

        s4 = TermSet()
        s = s4 - {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s.ids), [])
        self.assertIs(s._ontology, None)
Esempio n. 11
0
    def test_or(self):
        s1 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s1 | TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s.ids),
                         ['MS:1000014', 'MS:1000015', 'MS:1000016'])
        self.assertIsNot(s._ontology, None)

        s2 = TermSet((self.ms['MS:1000015'], self.ms['MS:1000014']))
        s = s2 | {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s.ids),
                         ['MS:1000014', 'MS:1000015', 'MS:1000016'])
        self.assertIsNot(s._ontology, None)

        s3 = TermSet()
        s = s3 | TermSet((self.ms['MS:1000015'], self.ms['MS:1000016']))
        self.assertEqual(sorted(s.ids), ['MS:1000015', 'MS:1000016'])
        self.assertIsNot(s._ontology, None)

        s4 = TermSet()
        s = s4 | {self.ms['MS:1000015'], self.ms['MS:1000016']}
        self.assertEqual(sorted(s.ids), ['MS:1000015', 'MS:1000016'])
        self.assertIsNot(s._ontology, None)
Esempio n. 12
0
 def test_union_of(self):
     self.t1.union_of = {self.t2, self.t3}
     self.assertEqual(self.t1.union_of, TermSet({self.t2, self.t3}))
     self.assertEqual(self.t1._data().union_of, {self.t2.id, self.t3.id})
Esempio n. 13
0
 def test_disjoint_from(self):
     self.assertEqual(self.t1.disjoint_from, TermSet())
     self.t1.disjoint_from = {self.t2}
     self.assertEqual(self.t1.disjoint_from, TermSet({self.t2}))
Esempio n. 14
0
 def test_consider(self):
     self.assertEqual(self.t1.consider, TermSet())
     self.t1.consider = {self.t2}
     self.assertEqual(self.t1.consider, TermSet({self.t2}))
     self.t1.consider.clear()
     self.assertEqual(self.t1.consider, TermSet())