Exemplo n.º 1
0
 def test_statystyki_odrazu_po_kolorowaniu_duze(self):
     k = Kolorowanie(self.wzorzec_duze_przed)
     k.koloruj()
     statystyki = k.statystyki()
     self.assertEqual(30, statystyki['liczba_wierzcholkow'])
     self.assertEqual(61, statystyki['liczba_krawedzi'])
     self.assertEqual(16, statystyki['max_kolor'])
     self.assertAlmostEqual(0.0588888888889, statystyki['sredni_wspolczynnik_klasteryzacji'], delta=0.0000001)
     self.assertAlmostEqual(4.06666666667, statystyki['sredni_stopien_wierzcholka'], delta=0.0000001)
     self.assertAlmostEqual(2.41333333333, statystyki['srednia_dlugosc_sciezki'], delta=0.0000001)
     self.assertAlmostEqual(2.96666666667, statystyki['srednia_liczba_kolorow'], delta=0.0000001)
Exemplo n.º 2
0
    def setUpClass(cls):
        wzorzec_po = 'dane_testowe/wzorzec_po.dot'
        cls.k_po = Kolorowanie(wzorzec_po)
        cls.v1_po = list(cls.k_po.graph.vertices())[1]
        cls.v0_po = list(cls.k_po.graph.vertices())[0]

        cls.wzorzec_przed = 'dane_testowe/wzorzec_przed.dot'
        cls.k_przed = Kolorowanie(cls.wzorzec_przed)
        cls.v1_przed = list(cls.k_przed.graph.vertices())[1]

        cls.wzorzec_zly_iloczyn = 'dane_testowe/wzorzec_zly_iloczyn_po.dot'
        cls.k_zly_iloczyn = Kolorowanie(cls.wzorzec_zly_iloczyn)
        cls.v1_zly_iloczyn = list(cls.k_zly_iloczyn.graph.vertices())[1]

        cls.wzorzec_zly_niecialgy_przedzial = 'dane_testowe/wzorzec_zly_nieciagly_przedzial_po.dot'
        cls.k_zly_przedzial = Kolorowanie(cls.wzorzec_zly_niecialgy_przedzial)
        cls.v1_zly_przedzial = list(cls.k_zly_przedzial.graph.vertices())[1]

        cls.wzorzec_bez_wlasciwosci = 'dane_testowe/wzorzec_bez_wlasciwosci.dot'
        cls.k_bez_wl = Kolorowanie(cls.wzorzec_bez_wlasciwosci)
        cls.v1_bez_wl = list(cls.k_bez_wl.graph.vertices())[1]

        cls.wzorzec_po_niepelny = 'dane_testowe/wzorzec_po_niepelny.dot'
        cls.k_niepelny = Kolorowanie(cls.wzorzec_po_niepelny)
        cls.v5_niepelny = list(cls.k_niepelny.graph.vertices())[5]
        cls.v0_niepelny = list(cls.k_niepelny.graph.vertices())[0]
        cls.v1_niepelny = list(cls.k_niepelny.graph.vertices())[1]

        cls.wzorzec_duze_przed = 'dane_testowe/duze_przed.dot'
        cls.k_duze_przed = Kolorowanie(cls.wzorzec_duze_przed)

        cls.wzorzec_duze_po = 'dane_testowe/duze_po.dot'
        cls.k_duze_po = Kolorowanie(cls.wzorzec_duze_po)
Exemplo n.º 3
0
    def setUpClass(cls):
        wzorzec_po = 'dane_testowe/wzorzec_po.dot'
        k = Kolorowanie(wzorzec_po)
        cls.spr = Sprawdzenie(graph=k.graph)

        wzorzec_zly_iloczyn_po = 'dane_testowe/wzorzec_zly_iloczyn_po.dot'
        k_zly_iloczyn = Kolorowanie(file_input=wzorzec_zly_iloczyn_po)
        cls.spr_zly_iloczyn = Sprawdzenie(graph=k_zly_iloczyn.graph)

        wzorzec_zly_nieciagly_przdzial_po = 'dane_testowe/wzorzec_zly_nieciagly_przedzial_po.dot'
        k_zly_nieciagly_przedzial = Kolorowanie(file_input=wzorzec_zly_nieciagly_przdzial_po)
        cls.spr_zly_nieciagly_przedzial = Sprawdzenie(graph=k_zly_nieciagly_przedzial.graph)

        wzorzec_zla_liczebnosc = 'dane_testowe/wzorzec_zla_liczebnosc.dot'
        k_zla_liczebnosc = Kolorowanie(file_input=wzorzec_zla_liczebnosc)
        cls.spr_zla_liczebnosc = Sprawdzenie(graph=k_zla_liczebnosc.graph)

        wzorzec_przed = 'dane_testowe/wzorzec_przed.dot'
        k_przed = Kolorowanie(wzorzec_przed)
        cls.spr_przed = Sprawdzenie(graph=k_przed.graph)
def profiluj():
    n_od = 5
    n_do = 1405
    n_krok = 200

    e = 10
    c = 4

    logging.basicConfig(level=logging.INFO)

    start = time.time()

    for n in range(n_od, n_do + 1, n_krok):
        g = generuj(n, e, c)
        sciezka = 'profile_data/' + name(n, e, c)
        g.save(sciezka + '.dot')
        k = Kolorowanie(sciezka + '.dot')
        t_start = time.time()
        k.koloruj()
        t_end = time.time()
        t_delta = t_end - t_start
        stat = k.statystyki()
        slownik = {'czas': t_delta}
        slownik['statystyki'] = stat
        with open(sciezka + '.stat', 'wt') as f:
            json.dump(slownik, f, indent=4)
        print '\t' + str(float(n) / n_do * 100) + '%'

    e = 50
    c = 4

    for n in range(n_od, n_do + 1, n_krok):
        g = generuj(n, e, c)
        sciezka = 'profile_data/' + name(n, e, c)
        g.save(sciezka + '.dot')
        k = Kolorowanie(sciezka + '.dot')
        t_start = time.time()
        k.koloruj()
        t_end = time.time()
        t_delta = t_end - t_start
        stat = k.statystyki()
        slownik = {'czas': t_delta}
        slownik['statystyki'] = stat
        with open(sciezka + '.stat', 'wt') as f:
            json.dump(slownik, f, indent=4)
        print '\t' + str(float(n) / n_do * 100) + '%'

    e = 50
    c = 15

    for n in range(n_od, n_do + 1, n_krok):
        g = generuj(n, e, c)
        sciezka = 'profile_data/' + name(n, e, c)
        g.save(sciezka + '.dot')
        k = Kolorowanie(sciezka + '.dot')
        t_start = time.time()
        k.koloruj()
        t_end = time.time()
        t_delta = t_end - t_start
        stat = k.statystyki()
        slownik = {'czas': t_delta}
        slownik['statystyki'] = stat
        with open(sciezka + '.stat', 'wt') as f:
            json.dump(slownik, f, indent=4)
        print '\t' + str(float(n) / n_do * 100) + '%'

    stop = time.time()

    print '\n\tKONIEC -> laczny czas wykonania: ' + str(stop - start) + ' s'
Exemplo n.º 5
0
 def test_create(self):
     k = Kolorowanie(self.wzorzec_po)
Exemplo n.º 6
0
 def setUpClass(cls):
     cls.wzorzec_po = 'dane_testowe/wzorzec_po.dot'
     cls.k = Kolorowanie(file_input=cls.wzorzec_po)
     cls.g = cls.k.graph
Exemplo n.º 7
0
 def test_sprawdzenie_odrazu_po_kolorowaniu_duze(self):
     k = Kolorowanie(self.wzorzec_duze_przed)
     k.koloruj()
     self.assertTrue(k.sprawdzenie())
Exemplo n.º 8
0
 def test_sprawdzenie_z_pliku_po_kolorowaniu_duze(self):
     k = Kolorowanie(self.wzorzec_duze_po)
     self.assertTrue(k.sprawdzenie())
Exemplo n.º 9
0
 def test_koloruj3(self):
     k = Kolorowanie(self.wzorzec_zly_iloczyn)
     k.koloruj()
     self.assertEqual(True, k.sprawdzenie())
Exemplo n.º 10
0
 def test_koloruj2(self):
     k = Kolorowanie(self.wzorzec_po_niepelny)
     k.koloruj()
     self.assertEqual(True, k.sprawdzenie())
Exemplo n.º 11
0
 def test_koloruj(self):
     k = Kolorowanie(self.wzorzec_przed)
     k.koloruj()
     self.assertEqual(True, k.sprawdzenie())
Exemplo n.º 12
0
 def test_koloruj_wierzcholek4(self):
     k = Kolorowanie(self.wzorzec_przed)
     k._dodaj_i_inicjuj_wlasciwosc_przypisane_kolory()
     v3_przed = list(k.graph.vertices())[3]
     self.assertEqual([1, 2], k._koloruj_wierzcholek(v3_przed))
Exemplo n.º 13
0
 def test_sortuj_suma_przypisanych_kolorow_sasiadow(self):
     k = Kolorowanie(self.wzorzec_po_niepelny)
     lista_wezlow = list(k.graph.vertices())
     k._sortuj_suma_przypisanych_kolorow_sasiadow(lista_wezlow)
     po = [int(str(v)) for v in lista_wezlow]
     self.assertEqual([0, 2, 3, 4, 5, 1], po)
Exemplo n.º 14
0
 def test_sortuj_stopien(self):
     k = Kolorowanie(self.wzorzec_przed)
     lista_wierzch = list(k.graph.vertices())
     k._sortuj_stopien(lista_wierzch)
     po = [int(str(v)) for v in lista_wierzch]
     self.assertEqual([1, 0, 2, 4, 3, 5], po)
Exemplo n.º 15
0
 def test_dodaj_wlasciwosc_przypisane_kolory(self):
     k = Kolorowanie(self.wzorzec_przed)
     k._dodaj_i_inicjuj_wlasciwosc_przypisane_kolory()
     v1 = list(k.graph.vertices())[1]
     self.assertEqual([], k.graph.vertex_properties['przypisane_kolory'][v1])
Exemplo n.º 16
0
 def setUpClass(cls):
     wzorzec_po = 'dane_testowe/wzorzec_po.dot'
     k = Kolorowanie(wzorzec_po)
     cls.g = k.graph
     cls.stat = StatInfo(graph=k.graph)