Esempio n. 1
0
    def test_diagonal(self):
        base_set = Set(Atom(1))
        diag_rels = [relations.diag(*base_set), relations.diag(1)]
        for diag_rel in diag_rels:
            self.assertEqual(diag_rel.cardinality, 1)
            self.assertTrue(relations.is_member(diag_rel))
            self.assertTrue(diag_rel.has_element(Couplet(1, 1)))

        base_set = Set(Atom(1), Atom('a'))
        diag_clan = clans.diag(1, 'a')
        self.assertEqual(diag_clan.cardinality, 1)
        diag_rels = [
            relations.diag(*base_set),
            relations.diag(1, 'a'),
            sets.single(diag_clan)
        ]
        for diag_rel in diag_rels:
            self.assertEqual(diag_rel.cardinality, 2)
            self.assertTrue(relations.is_member(diag_rel))
            self.assertTrue(diag_rel.has_element(Couplet(1, 1)))
            self.assertTrue(diag_rel.has_element(Couplet('a', 'a')))

        arg1 = Set(1, 2, 3)
        arg2 = [v for v in Set(1, 2, 3)]
        result_diag = Set(Couplet(1, 1), Couplet(2, 2), Couplet(3, 3))
        self.assertEqual(relations.diag(*arg1), result_diag)
        self.assertEqual(relations.diag(*arg2), result_diag)
Esempio n. 2
0
    def test_diagonal(self):
        base_set = Set(Atom(1))
        diag_rels = [
            relations.diag(*base_set), relations.diag(1)]
        for diag_rel in diag_rels:
            self.assertEqual(diag_rel.cardinality, 1)
            self.assertTrue(relations.is_member(diag_rel))
            self.assertTrue(diag_rel.has_element(Couplet(1, 1)))

        base_set = Set(Atom(1), Atom('a'))
        diag_clan = clans.diag(1, 'a')
        self.assertEqual(diag_clan.cardinality, 1)
        diag_rels = [
            relations.diag(*base_set), relations.diag(1, 'a'), sets.single(diag_clan)]
        for diag_rel in diag_rels:
            self.assertEqual(diag_rel.cardinality, 2)
            self.assertTrue(relations.is_member(diag_rel))
            self.assertTrue(diag_rel.has_element(Couplet(1, 1)))
            self.assertTrue(diag_rel.has_element(Couplet('a', 'a')))

        arg1 = Set(1, 2, 3)
        arg2 = [v for v in Set(1, 2, 3)]
        result_diag = Set(Couplet(1, 1), Couplet(2, 2), Couplet(3, 3))
        self.assertEqual(relations.diag(*arg1), result_diag)
        self.assertEqual(relations.diag(*arg2), result_diag)
Esempio n. 3
0
    def test_single(self):
        # self._check_argument_types_unary_undef(single)
        self.assertIs(single(Undef()), Undef())

        self.assertIs(single(_set1), Undef())
        self.assertEqual(single(_set1m2), Atom('a'))
Esempio n. 4
0
def by_clan_keys(key1, key2, clan):
    val1 = sets.single(clan[key1])
    val2 = sets.single(clan[key2])
    return val1, val2
Esempio n. 5
0
def by_clan_key(key, clan):
    return sets.single(clan[key])
Esempio n. 6
0
def by_clan_keys(key1, key2, clan):
    val1 = sets.single(clan[key1])
    val2 = sets.single(clan[key2])
    return val1, val2
Esempio n. 7
0
def by_clan_key(key, clan):
    return sets.single(clan[key])
Esempio n. 8
0
    def test_single(self):
        # self._check_argument_types_unary_undef(single)
        self.assertIs(single(Undef()), Undef())

        self.assertIs(single(_set1), Undef())
        self.assertEqual(single(_set1m2), Atom('a'))