예제 #1
0
def test_get_vertices():

    g = ext.get_graph_00()

    V, n = ext.get_set_vertices(g)
    assert V == [1, 2, 3, 4, 5, 6, 7]
    assert n == 7

    V, n = ext.get_set_vertices(n)
    assert V == [1, 2, 3, 4, 5, 6, 7]
    assert n == 7

    V_idx, n = ext.get_idx_vertices(g)
    assert V_idx == [0, 1, 2, 3, 4, 5, 6]
    assert n == 7

    V_idx, n = ext.get_idx_vertices(n)
    assert V_idx == [0, 1, 2, 3, 4, 5, 6]
    assert n == 7

    V_ext = ext.get_set_vertices_u_0(g)
    assert V_ext == [0, 1, 2, 3, 4, 5, 6, 7]

    V_ext = ext.get_set_vertices_u_0(n)
    assert V_ext == [0, 1, 2, 3, 4, 5, 6, 7]

    v_list = [1, 2]
    v_left = ext.get_v_left(g, v_list)
    v_left2 = ext.get_v_left(n, v_list)

    assert v_left == [3, 4, 5, 6, 7]
    assert v_left2 == [3, 4, 5, 6, 7]
예제 #2
0
    def set_graph(self, graph_number_or_file):

        if isinstance(graph_number_or_file, int):
            if graph_number_or_file == 0:
                self.graph = ext.get_graph_00()
            elif graph_number_or_file == 1:
                # OFFICE
                self.graph = ext.get_graph_01()
            elif graph_number_or_file == 2:
                # GRID 10x10
                self.graph = ext.get_graph_02()
            elif graph_number_or_file == 3:
                # GRID 8x8
                self.graph = ext.get_graph_03()
            elif graph_number_or_file == 4:
                self.graph = ext.get_graph_04()
            elif graph_number_or_file == 5:
                self.graph = ext.get_graph_05()
            elif graph_number_or_file == 6:
                self.graph = ext.get_graph_06()
            elif graph_number_or_file == 7:
                # MUSEUM
                self.graph = ext.get_graph_07()
            elif graph_number_or_file == 8:
                # school
                self.graph = ext.get_graph_08()
            else:
                print("No graph with that number")
        elif isinstance(graph_number_or_file, str):
            # if name of a file stored in graphs folder
            self.graph = ext.get_graph(graph_number_or_file)
        else:
            self.graph = graph_number_or_file
예제 #3
0
def test_get_searchers_positions():

    g = ext.get_graph_00()
    v0_searchers = [1, 2]

    searchers = cp.create_dict_searchers(g, v0_searchers)

    s_pos = ext.get_searchers_positions(searchers)
    assert s_pos == [1, 2]
예제 #4
0
def test_set_initial_belief():
    g = ext.get_graph_00()
    n = len(g.vs)
    v0_target = [7]
    belief_distribution = "uniform"

    b_0 = cp.set_initial_belief(g, v0_target, belief_distribution)

    assert len(b_0) == (n + 1)
    for i in range(n):
        assert b_0[i] == 0.0
    assert b_0[n] == 1

    v_list = cp.v_list_from_belief(b_0)

    assert len(v_list) == len(v0_target)
    assert v_list[0] == v0_target[0]
예제 #5
0
def test_get_sets():
    g = ext.get_graph_00()
    deadline = 3
    list_input = [5, 2]

    S, V, T_ext = ext.get_sets_only(g, list_input, deadline)
    _, _, T = ext.get_sets_only(g, list_input, deadline, False)
    assert S == [1, 2]
    assert V == [1, 2, 3, 4, 5, 6, 7]
    assert T == [1, 2, 3]
    assert T_ext == [0, 1, 2, 3]

    S, V, T_ext, m, n = ext.get_sets_and_ranges(g, list_input, deadline)
    S, V, T, m, n = ext.get_sets_and_ranges(g, list_input, deadline, False)
    assert S == [1, 2]
    assert V == [1, 2, 3, 4, 5, 6, 7]
    assert T == [1, 2, 3]
    assert T_ext == [0, 1, 2, 3]
    assert n == 7
    assert m == 2
예제 #6
0
def test_create_belief():
    g = ext.get_graph_00()
    n = len(g.vs)
    v0_target = [7]
    b_0_true = [0, 0, 0, 0, 0, 0, 0, 1]
    belief_distribution = "uniform"

    b_0 = cp.set_initial_belief(g, v0_target, belief_distribution)
    v_list = cp.v_list_from_belief(b_0)
    assert v_list == v0_target
    assert b_0 == b_0_true

    belief1 = MyBelief(b_0)
    assert belief1.stored[0] == b_0
    assert belief1.milp_init_belief == b_0
    assert belief1.new == b_0
    assert belief1.start_belief == b_0

    specs = my_specs()
    assert specs.start_target_v_list == v0_target
    assert specs.b0 is None
    assert specs.belief_distribution == "uniform"

    v_list2 = cp.placement_list(specs, 't')
    assert v_list == v_list2
    assert v0_target == v_list2

    b_02 = cp.set_initial_belief(g, v_list2, belief_distribution)
    assert b_02 == b_0
    assert b_02 == b_0_true

    belief2 = cp.create_belief(specs)
    assert belief2.stored[0] == b_0
    assert belief2.milp_init_belief == b_0
    assert belief2.new == b_0
    assert belief2.start_belief == b_0
예제 #7
0
def test_get_graph():

    g0 = ext.get_graph_00()
    g1 = ext.get_graph_01()
    g2 = ext.get_graph_02()
    g3 = ext.get_graph_03()
    g4 = ext.get_graph_04()
    g5 = ext.get_graph_05()
    g6 = ext.get_graph_06()
    g7 = ext.get_graph_07()

    assert g0['name'] == 'G7V_test'
    assert g1['name'] == 'G60V'
    assert g2['name'] == 'G100V_grid'
    assert g3['name'] == 'G256V_grid'
    assert g4['name'] == 'G9V_grid'
    assert g5['name'] == 'G20_home'
    assert g6['name'] == 'G25_home'
    assert g7['name'] == 'G70V'

    V0, n0 = ext.get_set_vertices(g0)
    V1, n1 = ext.get_set_vertices(g1)
    V2, n2 = ext.get_set_vertices(g2)
    V3, n3 = ext.get_set_vertices(g3)
    V4, n4 = ext.get_set_vertices(g4)
    V5, n5 = ext.get_set_vertices(g5)
    V6, n6 = ext.get_set_vertices(g6)
    V7, n7 = ext.get_set_vertices(g7)

    assert n0 == 7
    assert n1 == 60
    assert n2 == 100
    assert n3 == 256
    assert n4 == 9
    assert n5 == 20
    assert n6 == 25
    assert n7 == 70

    g0 = ext.get_graph('G7V_test')
    g1 = ext.get_graph('G60V')
    g2 = ext.get_graph('G100V_grid')
    g3 = ext.get_graph('G256V_grid')
    g4 = ext.get_graph('G9V_grid')
    g5 = ext.get_graph('G20_home')
    g6 = ext.get_graph('G25_home')
    g7 = ext.get_graph('G70V')

    assert g0['name'] == 'G7V_test'
    assert g1['name'] == 'G60V'
    assert g2['name'] == 'G100V_grid'
    assert g3['name'] == 'G256V_grid'
    assert g4['name'] == 'G9V_grid'
    assert g5['name'] == 'G20_home'
    assert g6['name'] == 'G25_home'
    assert g7['name'] == 'G70V'

    V0, n0 = ext.get_set_vertices(g0)
    V1, n1 = ext.get_set_vertices(g1)
    V2, n2 = ext.get_set_vertices(g2)
    V3, n3 = ext.get_set_vertices(g3)
    V4, n4 = ext.get_set_vertices(g4)
    V5, n5 = ext.get_set_vertices(g5)
    V6, n6 = ext.get_set_vertices(g6)
    V7, n7 = ext.get_set_vertices(g7)

    assert n0 == 7
    assert n1 == 60
    assert n2 == 100
    assert n3 == 256
    assert n4 == 9
    assert n5 == 20
    assert n6 == 25
    assert n7 == 70