Пример #1
0
def test_basic():
    m = {(1, 1): 1, (1, 2): 1, (3, 1): 1, (4, 1): 1, (2, 2): 1}
    assert Partition.growth_diagram(m) == [
        [(), (), ()],
        [(), (1, ), (2, )],
        [(), (1, ), (3, )],
        [(), (2, ), (3, 1)],
        [(), (3, ), (3, 2)],
    ]
Пример #2
0
def test_symmetric(n=4):
    a = {(i, j) for i in range(1, n + 1) for j in range(1, i + 1)}
    for k in range(len(a)):
        for _subset in itertools.combinations(a, k):
            subset = set(_subset) | {(j, i) for (i, j) in _subset}
            dictionary = {}
            for (i, j) in subset:
                x = random.randint(1, 10)
                dictionary[(i, j)] = x
                dictionary[(j, i)] = x
            g = Partition.growth_diagram(dictionary, n, n)
            # Partition.print_growth_diagram(g)
            for i in range(n + 1):
                mu = Partition.transpose(g[i][i])
                sigma = sum([dictionary.get((j, j), 0) for j in range(i + 1)])
                emp = sum([abs(v % 2) for v in mu])
                assert emp == sigma