Пример #1
0
def test_contiguous_with_contiguity_flips_is_true(
        contiguous_partition_with_flips):
    contiguous_partition, test_flips = contiguous_partition_with_flips
    contiguous_partition2 = contiguous_partition.flip(test_flips)
    assert contiguous(contiguous_partition2)
    assert single_flip_contiguous(contiguous_partition2)
    assert contiguous_bfs(contiguous_partition2)
Пример #2
0
def test_recom_works_as_a_proposal(partition_with_pop):
    graph = partition_with_pop.graph
    ideal_pop = sum(graph.nodes[node]["pop"] for node in graph) / 2
    proposal = functools.partial(
        recom, pop_col="pop", pop_target=ideal_pop, epsilon=0.25, node_repeats=5
    )
    constraints = [within_percent_of_ideal_population(partition_with_pop, 0.25, "pop")]

    chain = MarkovChain(proposal, constraints, lambda x: True, partition_with_pop, 100)

    for state in chain:
        assert contiguous(state)
Пример #3
0
def test_discontiguous_with_contiguous_flips_is_false(
    discontiguous_partition_with_flips
):
    part, test_flips = discontiguous_partition_with_flips
    discontiguous_partition2 = part.flip(test_flips)
    assert not contiguous(discontiguous_partition2)
Пример #4
0
def test_discontiguous_with_contiguous_no_flips_is_false(discontiguous_partition):
    assert not contiguous(discontiguous_partition)
Пример #5
0
def test_contiguous_with_contiguity_no_flips_is_true(contiguous_partition):
    assert contiguous(contiguous_partition)
    assert single_flip_contiguous(contiguous_partition)
    assert contiguous_bfs(contiguous_partition)
Пример #6
0
def test_discontiguous_with_contiguity_flips_is_false():
    discontiguous_partition = MockDiscontiguousPartition()
    discontiguous_partition.flips = discontiguous_partition.test_flips
    assert not contiguous(discontiguous_partition)
    assert not single_flip_contiguous(discontiguous_partition)
    assert not fast_connected(discontiguous_partition)
Пример #7
0
def test_contiguous_with_contiguity_flips_is_true():
    contiguous_partition = MockContiguousPartition()
    contiguous_partition.flips = contiguous_partition.test_flips
    assert contiguous(contiguous_partition)
    assert single_flip_contiguous(contiguous_partition)
    assert fast_connected(contiguous_partition)
Пример #8
0
def test_discontiguous_with_contiguous_flips_is_false(discontiguous_partition):
    discontiguous_partition2 = discontiguous_partition.flip(
        discontiguous_partition.test_flips)
    assert not contiguous(discontiguous_partition2)
Пример #9
0
def test_contiguous_with_contiguity_flips_is_true(contiguous_partition):
    contiguous_partition2 = contiguous_partition.merge(
        contiguous_partition.test_flips)
    assert contiguous(contiguous_partition2)
    assert single_flip_contiguous(contiguous_partition2)
    assert contiguous_bfs(contiguous_partition2)