From b18d3cd9f1ec36995a054016b02bfb4a2c61aeab Mon Sep 17 00:00:00 2001 From: Lendaia Mirai Date: Mon, 12 Jan 2026 00:31:22 +0100 Subject: [PATCH] fortheloveofgod --- ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs | 4 +- ALGA/Adatszerkezetek/12_SulyozottGraf.cs | 116 ++++- Tesztek/02_FunkconalisParadigmaTesztek.cs | 306 ++++++------- Tesztek/06_SzotarTesztek.cs | 220 +++++----- Tesztek/12_SulyozottGrafTesztek.cs | 484 ++++++++++----------- 5 files changed, 618 insertions(+), 512 deletions(-) diff --git a/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs b/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs index a6c2703..1ec720c 100644 --- a/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs +++ b/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs @@ -2,7 +2,7 @@ namespace OE.ALGA; -internal class FaElem where T : IComparable +public class FaElem where T : IComparable { public T? tart; public FaElem? bal; @@ -17,7 +17,7 @@ internal class FaElem where T : IComparable } public class FaHalmaz : Halmaz where T : IComparable { - FaElem? gyoker; + public FaElem? gyoker; private void BejarasPreOrder(FaElem p, Action muvelet) { diff --git a/ALGA/Adatszerkezetek/12_SulyozottGraf.cs b/ALGA/Adatszerkezetek/12_SulyozottGraf.cs index 5b5532e..2e91492 100644 --- a/ALGA/Adatszerkezetek/12_SulyozottGraf.cs +++ b/ALGA/Adatszerkezetek/12_SulyozottGraf.cs @@ -1,4 +1,7 @@ using System; +using System.Data; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; namespace OE.ALGA.Adatszerkezetek { @@ -10,6 +13,7 @@ namespace OE.ALGA.Adatszerkezetek Suly = suly; } + } public class CsucsmatrixSulyozottEgeszGraf : SulyozottGraf { @@ -26,7 +30,7 @@ namespace OE.ALGA.Adatszerkezetek { for (int j = 0; j < n; j++) { - if (M[i,j] != null) + if (M[i,j] != 0.0) { elek++; } @@ -62,7 +66,7 @@ namespace OE.ALGA.Adatszerkezetek { for (int j = 0; j < n; j++) { - if (M[i,j] != null) + if (M[i,j] != 0.0) { SulyozottEgeszGrafEl egeszgrafel = new SulyozottEgeszGrafEl(i, j, M[i,j]); fahalmaz.Beszur(egeszgrafel); @@ -75,7 +79,7 @@ namespace OE.ALGA.Adatszerkezetek public float Suly(int honnan, int hova) { - if(M[honnan, hova] != null) + if(M[honnan, hova] != 0.0) { return M[honnan, hova]; } @@ -90,7 +94,7 @@ namespace OE.ALGA.Adatszerkezetek FaHalmaz fahalmaz = new FaHalmaz(); for (int i = 0; i < n; i++) { - if (M[csucs, i] != null) + if (M[csucs, i] != 0.0) { fahalmaz.Beszur(i); } @@ -105,7 +109,109 @@ namespace OE.ALGA.Adatszerkezetek public bool VezetEl(int honnan, int hova) { - return (M[honnan, hova]!= null); + return (M[honnan, hova]!= 0.0); + } + } + public class Utkereses + { + public static Szotar Dijkstra(SulyozottGraf g, V start) where V: IComparable + { + Szotar legrovidebb = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + Szotar P = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + KupacPrioritasosSor S = new KupacPrioritasosSor(g.CsucsokSzama, (ez, ennel) => legrovidebb.Kiolvas(ez) < legrovidebb.Kiolvas(ennel)); + + g.Csucsok.Bejar(x => + { + legrovidebb.Beir(x, int.MaxValue); + S.Sorba(x); + }); + + legrovidebb.Beir(start, 0); + S.Frissit(start); + + while(!S.Ures) + { + V u = S.Sorbol(); + + g.Szomszedai(u).Bejar(x => + { + if(legrovidebb.Kiolvas(u) + g.Suly(u,x) < legrovidebb.Kiolvas(x)) + { + legrovidebb.Beir(x, legrovidebb.Kiolvas(u) + g.Suly(u,x)); + P.Beir(x, u); + S.Frissit(x); + } + }); + } + return legrovidebb; + } + } + + public class FeszitofaKereses + { + public static Szotar Prim(SulyozottGraf g, V start) where V: IComparable + { + Szotar feszito = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + Szotar P = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + KupacPrioritasosSor S = new KupacPrioritasosSor(g.CsucsokSzama, (ez, ennel) => feszito.Kiolvas(ez) < feszito.Kiolvas(ennel)); + FaHalmaz helper = new FaHalmaz(); + g.Csucsok.Bejar(x => + { + feszito.Beir(x, int.MaxValue); + S.Sorba(x); + helper.Beszur(x); + }); + feszito.Beir(start, 0); + S.Frissit(start); + + while(!S.Ures && helper.gyoker != null) + { + V minimum = S.Sorbol(); + helper.Torol(minimum); + + g.Szomszedai(minimum).Bejar(x => + { + if(helper.Eleme(x) && g.Suly(x, minimum) < feszito.Kiolvas(x)) + { + feszito.Beir(x, g.Suly(x, minimum)); + P.Beir(x, minimum); + } + }); + + } + + return P; + } + + public static Halmaz Kruskal(SulyozottGraf g) where E: SulyozottGrafEl, IComparable + { + FaHalmaz feszitofa = new FaHalmaz(); + Szotar vhalmaz = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + int i = 0; + g.Csucsok.Bejar(x => {vhalmaz.Beir(x, i++);}); + g.Elek.Bejar(e => {feszitofa.Beszur(e);}); + + while(feszitofa.gyoker != null) + { + + E minimum = feszitofa.gyoker.tart; + feszitofa.Bejar(x => + { + if(minimum.Suly > x.Suly) + { + minimum = x; + } + }); + + feszitofa.Torol(minimum); + + if (vhalmaz.Kiolvas(minimum.Honnan) != vhalmaz.Kiolvas(minimum.Hova)) + { + vhalmaz.Beir(minimum.Honnan, vhalmaz.Kiolvas(minimum.Hova)); + } + + } + return feszitofa; } } } diff --git a/Tesztek/02_FunkconalisParadigmaTesztek.cs b/Tesztek/02_FunkconalisParadigmaTesztek.cs index 9d14ece..b56954f 100644 --- a/Tesztek/02_FunkconalisParadigmaTesztek.cs +++ b/Tesztek/02_FunkconalisParadigmaTesztek.cs @@ -1,154 +1,154 @@ -//using NUnit.Framework; -//using OE.ALGA.Paradigmak; +using NUnit.Framework; +using OE.ALGA.Paradigmak; -//namespace OE.ALGA.Tesztek.Paradigmak -//{ -// [TestFixture(Category = "Paradigmák", TestName = "02 - Feltételes Feladat Tároló Tesztek")] -// public class FeltetelesFeladatTaroloTesztek -// { -// [TestCase] -// public void Felvesz() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(5); -// TesztFeladat a = new TesztFeladat("a"); -// tarolo.Felvesz(a); -// tarolo.Felvesz(a); -// tarolo.Felvesz(a); -// } -// [TestCase] -// public void TulsokatFelvesz() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(3); -// TesztFeladat a = new TesztFeladat("a"); -// tarolo.Felvesz(a); -// tarolo.Felvesz(a); -// tarolo.Felvesz(a); -// Assert.Throws(() => tarolo.Felvesz(a)); -// } -// [TestCase] -// public void NincsMitVegrehajtani() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(2); -// tarolo.MindentVegrehajt(); -// } -// [TestCase] -// public void MindenVegrehajtas() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(2); -// TesztFeladat a = new TesztFeladat("a"); -// TesztFeladat b = new TesztFeladat("b"); -// tarolo.Felvesz(a); -// tarolo.Felvesz(b); -// Assert.Multiple(() => -// { -// Assert.That(a.Vegrehajtott, Is.False); -// Assert.That(b.Vegrehajtott, Is.False); -// }); -// tarolo.MindentVegrehajt(); -// Assert.Multiple(() => -// { -// Assert.That(a.Vegrehajtott, Is.True); -// Assert.That(b.Vegrehajtott, Is.True); -// }); -// } -// [TestCase] -// public void FeltetelesVegrehajtas() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); -// TesztFeladat a1 = new TesztFeladat("a1"); -// TesztFeladat b1 = new TesztFeladat("b1"); -// TesztFeladat a2 = new TesztFeladat("a2"); -// tarolo.Felvesz(a1); -// tarolo.Felvesz(b1); -// tarolo.Felvesz(a2); -// Assert.Multiple(() => -// { -// Assert.That(a1.Vegrehajtott, Is.False); -// Assert.That(b1.Vegrehajtott, Is.False); -// Assert.That(a2.Vegrehajtott, Is.False); -// }); -// tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a'; }); // csak 'a' kezdetűek végrehajtása -// Assert.Multiple(() => -// { -// Assert.That(a1.Vegrehajtott, Is.True); -// Assert.That(b1.Vegrehajtott, Is.False); -// Assert.That(a2.Vegrehajtott, Is.True); -// }); -// tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'b'; }); // csak 'b' kezdetűek végrehajtása -// Assert.Multiple(() => -// { -// Assert.That(a1.Vegrehajtott, Is.True); -// Assert.That(b1.Vegrehajtott, Is.True); -// Assert.That(a2.Vegrehajtott, Is.True); -// }); -// } -// [TestCase] -// public void FeltetelesFuggosegesVegrehajtas() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); -// TesztFuggoFeladat a1 = new TesztFuggoFeladat("a1") { Vegrehajthato = true }; -// TesztFuggoFeladat b1 = new TesztFuggoFeladat("b1") { Vegrehajthato = true }; -// TesztFuggoFeladat a2 = new TesztFuggoFeladat("a2") { Vegrehajthato = false }; -// tarolo.Felvesz(a1); -// tarolo.Felvesz(b1); -// tarolo.Felvesz(a2); -// Assert.Multiple(() => -// { -// Assert.That(a1.Vegrehajtott, Is.False); -// Assert.That(b1.Vegrehajtott, Is.False); -// Assert.That(a2.Vegrehajtott, Is.False); -// }); -// tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a' && x.FuggosegTeljesul; }); // csak 'a' kezdetű és végrehajtható -// Assert.Multiple(() => -// { -// Assert.That(a1.Vegrehajtott, Is.True); -// Assert.That(b1.Vegrehajtott, Is.False); -// Assert.That(a2.Vegrehajtott, Is.False); -// }); -// tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'b' && x.FuggosegTeljesul; }); // csak 'b' kezdetű és végrehajtható -// Assert.Multiple(() => -// { -// Assert.That(a1.Vegrehajtott, Is.True); -// Assert.That(b1.Vegrehajtott, Is.True); -// Assert.That(a2.Vegrehajtott, Is.False); -// }); -// a2.Vegrehajthato = true; -// tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a' && x.FuggosegTeljesul; }); // csak 'a' kezdetű és végrehajtható -// Assert.Multiple(() => -// { -// Assert.That(a1.Vegrehajtott, Is.True); -// Assert.That(b1.Vegrehajtott, Is.True); -// Assert.That(a2.Vegrehajtott, Is.True); -// }); -// } -// [TestCase] -// public void Bejaro() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); -// TesztFeladat a = new TesztFeladat("a"); -// TesztFeladat b = new TesztFeladat("b"); -// tarolo.Felvesz(a); -// tarolo.Felvesz(b); -// string nevek = ""; -// foreach (TesztFeladat u in tarolo) -// nevek += u.Azonosito; -// Assert.That(nevek, Is.EqualTo("ab")); -// } -// [TestCase] -// public void FeltetelesBejaro() -// { -// FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); -// tarolo.BejaroFeltetel = (x => { Guardian.Recursion.CheckStackTrace(); return x.FuggosegTeljesul; }); -// TesztFuggoFeladat a = new TesztFuggoFeladat("a") { Vegrehajthato = true }; -// TesztFuggoFeladat b = new TesztFuggoFeladat("b") { Vegrehajthato = false }; -// TesztFuggoFeladat c = new TesztFuggoFeladat("c") { Vegrehajthato = true }; -// tarolo.Felvesz(a); -// tarolo.Felvesz(b); -// tarolo.Felvesz(c); -// string nevek = ""; -// foreach (TesztFeladat u in tarolo) -// nevek += u.Azonosito; -// Assert.That(nevek, Is.EqualTo("ac")); -// } -// } -//} \ No newline at end of file +namespace OE.ALGA.Tesztek.Paradigmak +{ + [TestFixture(Category = "Paradigmák", TestName = "02 - Feltételes Feladat Tároló Tesztek")] + public class FeltetelesFeladatTaroloTesztek + { + [TestCase] + public void Felvesz() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(5); + TesztFeladat a = new TesztFeladat("a"); + tarolo.Felvesz(a); + tarolo.Felvesz(a); + tarolo.Felvesz(a); + } + [TestCase] + public void TulsokatFelvesz() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(3); + TesztFeladat a = new TesztFeladat("a"); + tarolo.Felvesz(a); + tarolo.Felvesz(a); + tarolo.Felvesz(a); + Assert.Throws(() => tarolo.Felvesz(a)); + } + [TestCase] + public void NincsMitVegrehajtani() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(2); + tarolo.MindentVegrehajt(); + } + [TestCase] + public void MindenVegrehajtas() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(2); + TesztFeladat a = new TesztFeladat("a"); + TesztFeladat b = new TesztFeladat("b"); + tarolo.Felvesz(a); + tarolo.Felvesz(b); + Assert.Multiple(() => + { + Assert.That(a.Vegrehajtott, Is.False); + Assert.That(b.Vegrehajtott, Is.False); + }); + tarolo.MindentVegrehajt(); + Assert.Multiple(() => + { + Assert.That(a.Vegrehajtott, Is.True); + Assert.That(b.Vegrehajtott, Is.True); + }); + } + [TestCase] + public void FeltetelesVegrehajtas() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); + TesztFeladat a1 = new TesztFeladat("a1"); + TesztFeladat b1 = new TesztFeladat("b1"); + TesztFeladat a2 = new TesztFeladat("a2"); + tarolo.Felvesz(a1); + tarolo.Felvesz(b1); + tarolo.Felvesz(a2); + Assert.Multiple(() => + { + Assert.That(a1.Vegrehajtott, Is.False); + Assert.That(b1.Vegrehajtott, Is.False); + Assert.That(a2.Vegrehajtott, Is.False); + }); + tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a'; }); // csak 'a' kezdetűek végrehajtása + Assert.Multiple(() => + { + Assert.That(a1.Vegrehajtott, Is.True); + Assert.That(b1.Vegrehajtott, Is.False); + Assert.That(a2.Vegrehajtott, Is.True); + }); + tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'b'; }); // csak 'b' kezdetűek végrehajtása + Assert.Multiple(() => + { + Assert.That(a1.Vegrehajtott, Is.True); + Assert.That(b1.Vegrehajtott, Is.True); + Assert.That(a2.Vegrehajtott, Is.True); + }); + } + [TestCase] + public void FeltetelesFuggosegesVegrehajtas() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); + TesztFuggoFeladat a1 = new TesztFuggoFeladat("a1") { Vegrehajthato = true }; + TesztFuggoFeladat b1 = new TesztFuggoFeladat("b1") { Vegrehajthato = true }; + TesztFuggoFeladat a2 = new TesztFuggoFeladat("a2") { Vegrehajthato = false }; + tarolo.Felvesz(a1); + tarolo.Felvesz(b1); + tarolo.Felvesz(a2); + Assert.Multiple(() => + { + Assert.That(a1.Vegrehajtott, Is.False); + Assert.That(b1.Vegrehajtott, Is.False); + Assert.That(a2.Vegrehajtott, Is.False); + }); + tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a' && x.FuggosegTeljesul; }); // csak 'a' kezdetű és végrehajtható + Assert.Multiple(() => + { + Assert.That(a1.Vegrehajtott, Is.True); + Assert.That(b1.Vegrehajtott, Is.False); + Assert.That(a2.Vegrehajtott, Is.False); + }); + tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'b' && x.FuggosegTeljesul; }); // csak 'b' kezdetű és végrehajtható + Assert.Multiple(() => + { + Assert.That(a1.Vegrehajtott, Is.True); + Assert.That(b1.Vegrehajtott, Is.True); + Assert.That(a2.Vegrehajtott, Is.False); + }); + a2.Vegrehajthato = true; + tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a' && x.FuggosegTeljesul; }); // csak 'a' kezdetű és végrehajtható + Assert.Multiple(() => + { + Assert.That(a1.Vegrehajtott, Is.True); + Assert.That(b1.Vegrehajtott, Is.True); + Assert.That(a2.Vegrehajtott, Is.True); + }); + } + [TestCase] + public void Bejaro() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); + TesztFeladat a = new TesztFeladat("a"); + TesztFeladat b = new TesztFeladat("b"); + tarolo.Felvesz(a); + tarolo.Felvesz(b); + string nevek = ""; + foreach (TesztFeladat u in tarolo) + nevek += u.Azonosito; + Assert.That(nevek, Is.EqualTo("ab")); + } + [TestCase] + public void FeltetelesBejaro() + { + FeltetelesFeladatTarolo tarolo = new FeltetelesFeladatTarolo(10); + tarolo.BejaroFeltetel = (x => { Guardian.Recursion.CheckStackTrace(); return x.FuggosegTeljesul; }); + TesztFuggoFeladat a = new TesztFuggoFeladat("a") { Vegrehajthato = true }; + TesztFuggoFeladat b = new TesztFuggoFeladat("b") { Vegrehajthato = false }; + TesztFuggoFeladat c = new TesztFuggoFeladat("c") { Vegrehajthato = true }; + tarolo.Felvesz(a); + tarolo.Felvesz(b); + tarolo.Felvesz(c); + string nevek = ""; + foreach (TesztFeladat u in tarolo) + nevek += u.Azonosito; + Assert.That(nevek, Is.EqualTo("ac")); + } + } +} \ No newline at end of file diff --git a/Tesztek/06_SzotarTesztek.cs b/Tesztek/06_SzotarTesztek.cs index 2d33576..3b40680 100644 --- a/Tesztek/06_SzotarTesztek.cs +++ b/Tesztek/06_SzotarTesztek.cs @@ -1,112 +1,112 @@ -//using NUnit.Framework; -//using OE.ALGA.Adatszerkezetek; +using NUnit.Framework; +using OE.ALGA.Adatszerkezetek; -//namespace OE.ALGA.Tesztek.Adatszerkezetek -//{ -// [TestFixture(Category = "Adatszerkezetek", TestName = "06 - Szótár Tesztek")] -// public class SzotarTesztek -// { -// private static int TesztHasitoFuggveny(string kulcs) -// { -// if (string.IsNullOrEmpty(kulcs)) -// return 0; -// int sum = 0; -// foreach (char c in kulcs.ToCharArray()) -// sum += ((byte)c); -// return sum * sum; // a modulo osztást a szótárnak kell végeznie, mert ő tudja csak a belső tömb méretet -// } +namespace OE.ALGA.Tesztek.Adatszerkezetek +{ + [TestFixture(Category = "Adatszerkezetek", TestName = "06 - Szótár Tesztek")] + public class SzotarTesztek + { + private static int TesztHasitoFuggveny(string kulcs) + { + if (string.IsNullOrEmpty(kulcs)) + return 0; + int sum = 0; + foreach (char c in kulcs.ToCharArray()) + sum += ((byte)c); + return sum * sum; // a modulo osztást a szótárnak kell végeznie, mert ő tudja csak a belső tömb méretet + } -// [TestCase] -// public void AlapMukodes() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(10, TesztHasitoFuggveny); -// sz.Beir("Bela", 5); -// sz.Beir("Lajos", 2); -// Assert.Multiple(() => -// { -// Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); -// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); -// }); -// } -// [TestCase] -// public void AlapertelmezettHasitoFuggvennyel() //F2.(f) -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(10); -// sz.Beir("Bela", 5); -// sz.Beir("Lajos", 2); -// Assert.Multiple(() => -// { -// Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); -// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); -// }); -// } -// [TestCase] -// public void Kulcsutkozes() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(10, TesztHasitoFuggveny); -// sz.Beir("Bela", 5); -// sz.Beir("Bale", 15); -// sz.Beir("Lajos", 2); -// sz.Beir("Lasoj", 12); -// Assert.Multiple(() => -// { -// Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); -// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); -// Assert.That(sz.Kiolvas("Bale"), Is.EqualTo(15)); -// Assert.That(sz.Kiolvas("Lasoj"), Is.EqualTo(12)); -// }); -// } -// [TestCase] -// public void NullElem() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); -// sz.Beir("null", null!); -// } -// [TestCase] -// public void UresKulcs() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); -// sz.Beir("", 0); -// } -// [TestCase] -// public void UresElem() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); -// sz.Beir("Bela", ""); -// } -// [TestCase] -// public void NincsElem() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); -// sz.Beir("Bela", 5); -// sz.Beir("Lajos", 2); -// Assert.Throws(() => sz.Kiolvas("Ferenc")); -// } -// [TestCase] -// public void TorlesNull() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); -// sz.Beir("Bela", 5); -// sz.Beir("Lajos", 2); -// Assert.Throws(() => sz.Torol(null!)); -// } -// [TestCase] -// public void TorlesMarad() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); -// sz.Beir("Bela", 5); -// sz.Beir("Lajos", 2); -// sz.Torol("Bela"); -// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); -// } -// [TestCase] -// public void TorlesEltunt() -// { -// Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); -// sz.Beir("Bela", 5); -// sz.Beir("Lajos", 2); -// sz.Torol("Bela"); -// Assert.Throws(() => sz.Kiolvas("Bela")); -// } -// } -//} \ No newline at end of file + [TestCase] + public void AlapMukodes() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(10, TesztHasitoFuggveny); + sz.Beir("Bela", 5); + sz.Beir("Lajos", 2); + Assert.Multiple(() => + { + Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); + Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); + }); + } + [TestCase] + public void AlapertelmezettHasitoFuggvennyel() //F2.(f) + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(10); + sz.Beir("Bela", 5); + sz.Beir("Lajos", 2); + Assert.Multiple(() => + { + Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); + Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); + }); + } + [TestCase] + public void Kulcsutkozes() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(10, TesztHasitoFuggveny); + sz.Beir("Bela", 5); + sz.Beir("Bale", 15); + sz.Beir("Lajos", 2); + sz.Beir("Lasoj", 12); + Assert.Multiple(() => + { + Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); + Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); + Assert.That(sz.Kiolvas("Bale"), Is.EqualTo(15)); + Assert.That(sz.Kiolvas("Lasoj"), Is.EqualTo(12)); + }); + } + [TestCase] + public void NullElem() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); + sz.Beir("null", null!); + } + [TestCase] + public void UresKulcs() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); + sz.Beir("", 0); + } + [TestCase] + public void UresElem() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); + sz.Beir("Bela", ""); + } + [TestCase] + public void NincsElem() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); + sz.Beir("Bela", 5); + sz.Beir("Lajos", 2); + Assert.Throws(() => sz.Kiolvas("Ferenc")); + } + [TestCase] + public void TorlesNull() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); + sz.Beir("Bela", 5); + sz.Beir("Lajos", 2); + Assert.Throws(() => sz.Torol(null!)); + } + [TestCase] + public void TorlesMarad() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); + sz.Beir("Bela", 5); + sz.Beir("Lajos", 2); + sz.Torol("Bela"); + Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); + } + [TestCase] + public void TorlesEltunt() + { + Szotar sz = new HasitoSzotarTulcsordulasiTerulettel(5, TesztHasitoFuggveny); + sz.Beir("Bela", 5); + sz.Beir("Lajos", 2); + sz.Torol("Bela"); + Assert.Throws(() => sz.Kiolvas("Bela")); + } + } +} \ No newline at end of file diff --git a/Tesztek/12_SulyozottGrafTesztek.cs b/Tesztek/12_SulyozottGrafTesztek.cs index a68f426..7db1c1a 100644 --- a/Tesztek/12_SulyozottGrafTesztek.cs +++ b/Tesztek/12_SulyozottGrafTesztek.cs @@ -1,278 +1,278 @@ -//using NUnit.Framework; -//using OE.ALGA.Adatszerkezetek; +using NUnit.Framework; +using OE.ALGA.Adatszerkezetek; -//namespace OE.ALGA.Tesztek.Adatszerkezetek -//{ -// [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Csúcs Mátrix Súlyozott Gráf Tesztek")] -// public class CsucsMatrixSulyozottGrafTesztek -// { -// [TestCase] -// public void MindenCsucsTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2); -// Assert.Multiple(() => -// { -// Assert.That(csg.Csucsok.Eleme(0), Is.True); -// Assert.That(csg.Csucsok.Eleme(1), Is.True); -// }); -// } +namespace OE.ALGA.Tesztek.Adatszerkezetek +{ + [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Csúcs Mátrix Súlyozott Gráf Tesztek")] + public class CsucsMatrixSulyozottGrafTesztek + { + [TestCase] + public void MindenCsucsTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2); + Assert.Multiple(() => + { + Assert.That(csg.Csucsok.Eleme(0), Is.True); + Assert.That(csg.Csucsok.Eleme(1), Is.True); + }); + } -// [TestCase] -// public void MindenElTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); -// csg.UjEl(0, 1, 1.0f); -// csg.UjEl(0, 2, 2.0f); -// csg.UjEl(1, 2, 3.0f); + [TestCase] + public void MindenElTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); + csg.UjEl(0, 1, 1.0f); + csg.UjEl(0, 2, 2.0f); + csg.UjEl(1, 2, 3.0f); -// Assert.Multiple(() => -// { -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(0, 0, 0.0f)), Is.False); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(0, 1, 1.0f)), Is.True); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(0, 2, 2.0f)), Is.True); + Assert.Multiple(() => + { + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(0, 0, 0.0f)), Is.False); + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(0, 1, 1.0f)), Is.True); + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(0, 2, 2.0f)), Is.True); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(1, 0, 0.0f)), Is.False); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(1, 1, 0.0f)), Is.False); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(1, 2, 3.0f)), Is.True); + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(1, 0, 0.0f)), Is.False); + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(1, 1, 0.0f)), Is.False); + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(1, 2, 3.0f)), Is.True); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(2, 0, 0.0f)), Is.False); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(2, 1, 0.0f)), Is.False); -// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(2, 2, 0.0f)), Is.False); -// }); -// } + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(2, 0, 0.0f)), Is.False); + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(2, 1, 0.0f)), Is.False); + Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(2, 2, 0.0f)), Is.False); + }); + } -// [TestCase] -// public void VezetElTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2); -// Assert.That(csg.VezetEl(0, 1), Is.False); -// csg.UjEl(0, 1, 1.0f); -// Assert.Multiple(() => -// { -// Assert.That(csg.VezetEl(0, 1), Is.True); -// Assert.That(csg.VezetEl(1, 0), Is.False); -// }); -// } + [TestCase] + public void VezetElTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2); + Assert.That(csg.VezetEl(0, 1), Is.False); + csg.UjEl(0, 1, 1.0f); + Assert.Multiple(() => + { + Assert.That(csg.VezetEl(0, 1), Is.True); + Assert.That(csg.VezetEl(1, 0), Is.False); + }); + } -// [TestCase] -// public void SzomszedsagTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); -// csg.UjEl(0, 1, 1.0f); -// csg.UjEl(0, 2, 1.0f); -// csg.UjEl(1, 2, 1.0f); + [TestCase] + public void SzomszedsagTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); + csg.UjEl(0, 1, 1.0f); + csg.UjEl(0, 2, 1.0f); + csg.UjEl(1, 2, 1.0f); -// Halmaz a_szomszedai = csg.Szomszedai(0); -// Halmaz b_szomszedai = csg.Szomszedai(1); -// Halmaz c_szomszedai = csg.Szomszedai(2); + Halmaz a_szomszedai = csg.Szomszedai(0); + Halmaz b_szomszedai = csg.Szomszedai(1); + Halmaz c_szomszedai = csg.Szomszedai(2); -// Assert.Multiple(() => -// { -// Assert.That(a_szomszedai.Eleme(0), Is.False); -// Assert.That(a_szomszedai.Eleme(1), Is.True); -// Assert.That(a_szomszedai.Eleme(2), Is.True); + Assert.Multiple(() => + { + Assert.That(a_szomszedai.Eleme(0), Is.False); + Assert.That(a_szomszedai.Eleme(1), Is.True); + Assert.That(a_szomszedai.Eleme(2), Is.True); -// Assert.That(b_szomszedai.Eleme(0), Is.False); -// Assert.That(b_szomszedai.Eleme(1), Is.False); -// Assert.That(b_szomszedai.Eleme(2), Is.True); + Assert.That(b_szomszedai.Eleme(0), Is.False); + Assert.That(b_szomszedai.Eleme(1), Is.False); + Assert.That(b_szomszedai.Eleme(2), Is.True); -// Assert.That(c_szomszedai.Eleme(0), Is.False); -// Assert.That(c_szomszedai.Eleme(1), Is.False); -// Assert.That(c_szomszedai.Eleme(2), Is.False); -// }); -// } + Assert.That(c_szomszedai.Eleme(0), Is.False); + Assert.That(c_szomszedai.Eleme(1), Is.False); + Assert.That(c_szomszedai.Eleme(2), Is.False); + }); + } -// [TestCase] -// public void NemLetezoElTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); -// csg.UjEl(0, 1, 1.0f); -// csg.UjEl(0, 2, 1.0f); -// Assert.Throws(() => csg.Suly(1, 0)); -// } + [TestCase] + public void NemLetezoElTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); + csg.UjEl(0, 1, 1.0f); + csg.UjEl(0, 2, 1.0f); + Assert.Throws(() => csg.Suly(1, 0)); + } -// [TestCase] -// public void ElSulyTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); -// csg.UjEl(0, 1, 2.0f); -// csg.UjEl(0, 2, 3.0f); -// float szum = 0.0f; -// csg.Elek.Bejar(x => szum += csg.Suly(x.Honnan, x.Hova)); -// Assert.That(szum, Is.EqualTo(5.0f)); -// } -// } + [TestCase] + public void ElSulyTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); + csg.UjEl(0, 1, 2.0f); + csg.UjEl(0, 2, 3.0f); + float szum = 0.0f; + csg.Elek.Bejar(x => szum += csg.Suly(x.Honnan, x.Hova)); + Assert.That(szum, Is.EqualTo(5.0f)); + } + } -// [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Min Feszítőfa Tesztek")] -// public class GrafMinFeszitofaTesztek -// { -// [TestCase] -// public void KisPrimTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); -// csg.UjEl(0, 1, 10.0f); -// csg.UjEl(0, 2, 20.0f); -// csg.UjEl(1, 2, 5.0f); -// Szotar elek = FeszitofaKereses.Prim(csg, 0); -// Assert.Multiple(() => -// { -// Assert.That(elek.Kiolvas(1), Is.EqualTo(0)); -// Assert.That(elek.Kiolvas(2), Is.EqualTo(1)); -// }); -// } + [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Min Feszítőfa Tesztek")] + public class GrafMinFeszitofaTesztek + { + [TestCase] + public void KisPrimTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); + csg.UjEl(0, 1, 10.0f); + csg.UjEl(0, 2, 20.0f); + csg.UjEl(1, 2, 5.0f); + Szotar elek = FeszitofaKereses.Prim(csg, 0); + Assert.Multiple(() => + { + Assert.That(elek.Kiolvas(1), Is.EqualTo(0)); + Assert.That(elek.Kiolvas(2), Is.EqualTo(1)); + }); + } -// [TestCase] -// public void NagyPrimTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5); -// csg.UjEl(0, 1, 5.0f); -// csg.UjEl(0, 3, 4.0f); + [TestCase] + public void NagyPrimTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5); + csg.UjEl(0, 1, 5.0f); + csg.UjEl(0, 3, 4.0f); -// csg.UjEl(1, 0, 5.0f); -// csg.UjEl(1, 3, 2.0f); -// csg.UjEl(1, 2, 1.0f); + csg.UjEl(1, 0, 5.0f); + csg.UjEl(1, 3, 2.0f); + csg.UjEl(1, 2, 1.0f); -// csg.UjEl(2, 1, 1.0f); -// csg.UjEl(2, 3, 3.0f); -// csg.UjEl(2, 4, 4.0f); + csg.UjEl(2, 1, 1.0f); + csg.UjEl(2, 3, 3.0f); + csg.UjEl(2, 4, 4.0f); -// csg.UjEl(3, 0, 4.0f); -// csg.UjEl(3, 1, 2.0f); -// csg.UjEl(3, 2, 3.0f); -// csg.UjEl(3, 4, 1.0f); + csg.UjEl(3, 0, 4.0f); + csg.UjEl(3, 1, 2.0f); + csg.UjEl(3, 2, 3.0f); + csg.UjEl(3, 4, 1.0f); -// csg.UjEl(4, 2, 4.0f); -// csg.UjEl(4, 3, 1.0f); + csg.UjEl(4, 2, 4.0f); + csg.UjEl(4, 3, 1.0f); -// Szotar elek = FeszitofaKereses.Prim(csg, 0); -// float sum = 0.0f; -// csg.Csucsok.Bejar(x => -// { -// if (x != 0) -// { -// int p = elek.Kiolvas(x); -// sum += csg.Suly(p, x); -// } -// } -// ); -// Assert.That(sum, Is.EqualTo(8.0f)); -// } + Szotar elek = FeszitofaKereses.Prim(csg, 0); + float sum = 0.0f; + csg.Csucsok.Bejar(x => + { + if (x != 0) + { + int p = elek.Kiolvas(x); + sum += csg.Suly(p, x); + } + } + ); + Assert.That(sum, Is.EqualTo(8.0f)); + } -// [TestCase] -// public void KisKruskalTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); -// csg.UjEl(0, 1, 10.0f); -// csg.UjEl(0, 2, 20.0f); -// csg.UjEl(1, 2, 5.0f); -// Halmaz elek = FeszitofaKereses.Kruskal(csg); -// Assert.Multiple(() => -// { -// Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(0, 1, 10.0f)), Is.True); -// Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(0, 2, 20.0f)), Is.False); -// Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(1, 2, 5.0f)), Is.True); -// }); -// } + [TestCase] + public void KisKruskalTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); + csg.UjEl(0, 1, 10.0f); + csg.UjEl(0, 2, 20.0f); + csg.UjEl(1, 2, 5.0f); + Halmaz elek = FeszitofaKereses.Kruskal(csg); + Assert.Multiple(() => + { + Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(0, 1, 10.0f)), Is.True); + Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(0, 2, 20.0f)), Is.False); + Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(1, 2, 5.0f)), Is.True); + }); + } -// [TestCase] -// public void NagyKruskalTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5); -// csg.UjEl(0, 1, 5.0f); -// csg.UjEl(0, 3, 4.0f); + [TestCase] + public void NagyKruskalTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5); + csg.UjEl(0, 1, 5.0f); + csg.UjEl(0, 3, 4.0f); -// csg.UjEl(1, 0, 5.0f); -// csg.UjEl(1, 3, 2.0f); -// csg.UjEl(1, 2, 1.0f); + csg.UjEl(1, 0, 5.0f); + csg.UjEl(1, 3, 2.0f); + csg.UjEl(1, 2, 1.0f); -// csg.UjEl(2, 1, 1.0f); -// csg.UjEl(2, 3, 3.0f); -// csg.UjEl(2, 4, 4.0f); + csg.UjEl(2, 1, 1.0f); + csg.UjEl(2, 3, 3.0f); + csg.UjEl(2, 4, 4.0f); -// csg.UjEl(3, 0, 4.0f); -// csg.UjEl(3, 1, 2.0f); -// csg.UjEl(3, 2, 3.0f); -// csg.UjEl(3, 4, 1.0f); + csg.UjEl(3, 0, 4.0f); + csg.UjEl(3, 1, 2.0f); + csg.UjEl(3, 2, 3.0f); + csg.UjEl(3, 4, 1.0f); -// csg.UjEl(4, 2, 4.0f); -// csg.UjEl(4, 3, 1.0f); + csg.UjEl(4, 2, 4.0f); + csg.UjEl(4, 3, 1.0f); -// Halmaz elek = FeszitofaKereses.Kruskal(csg); -// float sum = 0.0f; -// elek.Bejar(x => -// { -// sum += x.Suly; -// } -// ); -// Assert.That(sum, Is.EqualTo(8.0f)); -// } -// } + Halmaz elek = FeszitofaKereses.Kruskal(csg); + float sum = 0.0f; + elek.Bejar(x => + { + sum += x.Suly; + } + ); + Assert.That(sum, Is.EqualTo(8.0f)); + } + } -// [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Útkeresés Tesztek")] -// public class GrafUtkeresesTesztek -// { -// [TestCase] -// public void DijkstraKicsiGrafTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); -// csg.UjEl(0, 1, 10.0f); -// csg.UjEl(0, 2, 20.0f); -// Szotar hossz = Utkereses.Dijkstra(csg, 0); -// Assert.Multiple(() => -// { -// Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f)); -// Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f)); -// Assert.That(hossz.Kiolvas(2), Is.EqualTo(20.0f)); -// }); + [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Útkeresés Tesztek")] + public class GrafUtkeresesTesztek + { + [TestCase] + public void DijkstraKicsiGrafTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); + csg.UjEl(0, 1, 10.0f); + csg.UjEl(0, 2, 20.0f); + Szotar hossz = Utkereses.Dijkstra(csg, 0); + Assert.Multiple(() => + { + Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f)); + Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f)); + Assert.That(hossz.Kiolvas(2), Is.EqualTo(20.0f)); + }); -// csg.UjEl(1, 2, 5.0f); -// hossz = Utkereses.Dijkstra(csg, 0); -// Assert.Multiple(() => -// { -// Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f)); -// Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f)); -// Assert.That(hossz.Kiolvas(2), Is.EqualTo(15.0f)); -// }); -// } + csg.UjEl(1, 2, 5.0f); + hossz = Utkereses.Dijkstra(csg, 0); + Assert.Multiple(() => + { + Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f)); + Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f)); + Assert.That(hossz.Kiolvas(2), Is.EqualTo(15.0f)); + }); + } -// [TestCase] -// public void DijkstraJegyzetGrafTeszt() -// { -// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(7); -// csg.UjEl(0, 1, 1.0f); -// csg.UjEl(0, 3, 2.0f); -// csg.UjEl(0, 4, 4.0f); + [TestCase] + public void DijkstraJegyzetGrafTeszt() + { + CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(7); + csg.UjEl(0, 1, 1.0f); + csg.UjEl(0, 3, 2.0f); + csg.UjEl(0, 4, 4.0f); -// csg.UjEl(1, 0, 1.0f); -// csg.UjEl(1, 3, 2.0f); -// csg.UjEl(1, 2, 9.0f); + csg.UjEl(1, 0, 1.0f); + csg.UjEl(1, 3, 2.0f); + csg.UjEl(1, 2, 9.0f); -// csg.UjEl(2, 1, 9.0f); -// csg.UjEl(2, 3, 5.0f); -// csg.UjEl(2, 5, 1.0f); + csg.UjEl(2, 1, 9.0f); + csg.UjEl(2, 3, 5.0f); + csg.UjEl(2, 5, 1.0f); -// csg.UjEl(3, 0, 2.0f); -// csg.UjEl(3, 1, 2.0f); -// csg.UjEl(3, 2, 5.0f); -// csg.UjEl(3, 5, 3.0f); + csg.UjEl(3, 0, 2.0f); + csg.UjEl(3, 1, 2.0f); + csg.UjEl(3, 2, 5.0f); + csg.UjEl(3, 5, 3.0f); -// csg.UjEl(5, 2, 1.0f); -// csg.UjEl(5, 3, 3.0f); -// csg.UjEl(5, 6, 3.0f); + csg.UjEl(5, 2, 1.0f); + csg.UjEl(5, 3, 3.0f); + csg.UjEl(5, 6, 3.0f); -// csg.UjEl(6, 5, 3.0f); + csg.UjEl(6, 5, 3.0f); -// Szotar hossz = Utkereses.Dijkstra(csg, 1); -// Assert.Multiple(() => -// { -// Assert.That(hossz.Kiolvas(0), Is.EqualTo(1.0f)); -// Assert.That(hossz.Kiolvas(1), Is.EqualTo(0.0f)); -// Assert.That(hossz.Kiolvas(2), Is.EqualTo(6.0f)); -// Assert.That(hossz.Kiolvas(3), Is.EqualTo(2.0f)); -// Assert.That(hossz.Kiolvas(4), Is.EqualTo(5.0f)); -// Assert.That(hossz.Kiolvas(5), Is.EqualTo(5.0f)); -// Assert.That(hossz.Kiolvas(6), Is.EqualTo(8.0f)); -// }); -// } -// } -//} + Szotar hossz = Utkereses.Dijkstra(csg, 1); + Assert.Multiple(() => + { + Assert.That(hossz.Kiolvas(0), Is.EqualTo(1.0f)); + Assert.That(hossz.Kiolvas(1), Is.EqualTo(0.0f)); + Assert.That(hossz.Kiolvas(2), Is.EqualTo(6.0f)); + Assert.That(hossz.Kiolvas(3), Is.EqualTo(2.0f)); + Assert.That(hossz.Kiolvas(4), Is.EqualTo(5.0f)); + Assert.That(hossz.Kiolvas(5), Is.EqualTo(5.0f)); + Assert.That(hossz.Kiolvas(6), Is.EqualTo(8.0f)); + }); + } + } +}