Esempio n. 1
0
 def test_given_incorrect_color_entry_returns_none(self):
     self.assertEqual(None, LGLReader.get_edge_color_entry(""))
     self.assertEqual(None, LGLReader.get_edge_color_entry(" "))
     self.assertEqual(None, LGLReader.get_edge_color_entry("# sdf"))
     self.assertEqual(None, LGLReader.get_edge_color_entry("v1 v2"))
     self.assertEqual(None, LGLReader.get_edge_color_entry("v1 v2 d"))
     self.assertEqual(None, LGLReader.get_edge_color_entry("v1 v2 1.0"))
     self.assertEqual(None, LGLReader.get_edge_color_entry("v1 v2 1.0 d"))
     self.assertEqual(None, LGLReader.get_edge_color_entry("v1 v2 1.0 0.4"))
     self.assertEqual(None, LGLReader.get_edge_color_entry("v1 v2 1.0 0.4 d"))
Esempio n. 2
0
    def read_edge_colors(self):
        with open(self.edge_color_filename, 'rb') as edge_colors:
            color_entries = edge_colors.read()

        for i, entry in enumerate(color_entries.split(os.linesep)):
            if not entry:
                continue

            t = LGLReader.get_edge_color_entry(entry)
            if not t:
                print('Bad color entry at' + str(i) + ': ' + str(t))
            else:
                self.edge_color_tuples[t[0]] = t[1]
Esempio n. 3
0
    def get_secondary_vertex_label(self, entry):
        label_weight = LGLReader.get_vertex_label_and_weight(entry)
        if not label_weight:
            raise ValueError

        if isinstance(label_weight, list):
            secondary_label = label_weight[0]
            self.edge_weights.InsertNextValue(label_weight[1])

        else:
            secondary_label = label_weight
            self.edge_weights.InsertNextValue(0.5)

        return secondary_label
Esempio n. 4
0
    def insert_graph(self):
        with open(self.filename, 'rb') as lgl_file:
            lgl = lgl_file.read()

        for i, entry in enumerate(lgl.split(os.linesep)):
            if not entry:
                continue

            if self.max_num_of_vertices != -1 and i > self.max_num_of_vertices:
                break

            if LGLReader.is_starting_vertex(entry):
                self._process_primary_vertex(entry, i)

            else:
                self._process_secondary_vertex(entry, i)
Esempio n. 5
0
 def test_given_starting_vertex_wit_hash_and_long_label_returns_label(self):
     p_v = LGLReader.get_primary_vertex("# the vertex")
     self.assertEqual("the", p_v)
Esempio n. 6
0
 def test_given_starting_vertex_wit_hash_without_label_returns_none(self):
     p_v = LGLReader.get_primary_vertex("#")
     self.assertEqual(None, p_v)
Esempio n. 7
0
 def test_given_incorrect_starting_vertex_returns_none(self):
     p_v = LGLReader.get_primary_vertex("")
     self.assertEqual(None, p_v)
Esempio n. 8
0
 def test_given_start_vertex_returns_true(self):
     self.assertTrue(LGLReader.is_starting_vertex('# the_vertex'))
Esempio n. 9
0
 def test_given_non_start_vertex_returns_false(self):
     self.assertFalse(LGLReader.is_starting_vertex(''))
     self.assertFalse(LGLReader.is_starting_vertex(' '))
     self.assertFalse(LGLReader.is_starting_vertex('one one'))
Esempio n. 10
0
 def test_given_entry_with_weigth_returns_label_weight_list(self):
     self.assertEqual(['vertex', 42.1], LGLReader.get_vertex_label_and_weight('vertex 42.1'))
Esempio n. 11
0
 def test_given_entry_with_incorrect_etry_exception_raises(self):
     try:
         LGLReader.get_vertex_label_and_weight('vertex d')
         self.assertTrue(False)
     except ValueError:
         self.assertTrue(True)
Esempio n. 12
0
 def test_given_entry_returns_label(self):
     self.assertEqual('vertex', LGLReader.get_vertex_label_and_weight('vertex'))
Esempio n. 13
0
 def test_given_incorrect_entry_returns_none(self):
     self.assertEqual(None, LGLReader.get_vertex_label_and_weight(''))
     self.assertEqual(None, LGLReader.get_vertex_label_and_weight(' '))
Esempio n. 14
0
 def test_given_correct_color_returns_v1_v2_r_g_b_tuple(self):
     self.assertEqual((('v1', 'v2'), (1.0, 0.4, 0.3)),
                      LGLReader.get_edge_color_entry("v1 v2 1.0 0.4 0.3"))
Esempio n. 15
0
    def _get_primary_label(entry):
        primary_label = LGLReader.get_primary_vertex(entry)
        if not primary_label:
            raise ValueError

        return primary_label