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)
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)
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)
def test_discontiguous_with_contiguous_no_flips_is_false(discontiguous_partition): assert not contiguous(discontiguous_partition)
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)
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)
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)
def test_discontiguous_with_contiguous_flips_is_false(discontiguous_partition): discontiguous_partition2 = discontiguous_partition.flip( discontiguous_partition.test_flips) assert not contiguous(discontiguous_partition2)
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)