fortheloveofgod

This commit is contained in:
Lendaia Mirai
2026-01-12 00:31:22 +01:00
parent 04fc53bbc7
commit b18d3cd9f1
5 changed files with 618 additions and 512 deletions

View File

@@ -2,7 +2,7 @@
namespace OE.ALGA; namespace OE.ALGA;
internal class FaElem<T> where T : IComparable public class FaElem<T> where T : IComparable
{ {
public T? tart; public T? tart;
public FaElem<T>? bal; public FaElem<T>? bal;
@@ -17,7 +17,7 @@ internal class FaElem<T> where T : IComparable
} }
public class FaHalmaz<T> : Halmaz<T> where T : IComparable public class FaHalmaz<T> : Halmaz<T> where T : IComparable
{ {
FaElem<T>? gyoker; public FaElem<T>? gyoker;
private void BejarasPreOrder(FaElem<T> p, Action<T> muvelet) private void BejarasPreOrder(FaElem<T> p, Action<T> muvelet)
{ {

View File

@@ -1,4 +1,7 @@
using System; using System;
using System.Data;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace OE.ALGA.Adatszerkezetek namespace OE.ALGA.Adatszerkezetek
{ {
@@ -10,6 +13,7 @@ namespace OE.ALGA.Adatszerkezetek
Suly = suly; Suly = suly;
} }
} }
public class CsucsmatrixSulyozottEgeszGraf : SulyozottGraf<int, SulyozottEgeszGrafEl> public class CsucsmatrixSulyozottEgeszGraf : SulyozottGraf<int, SulyozottEgeszGrafEl>
{ {
@@ -26,7 +30,7 @@ namespace OE.ALGA.Adatszerkezetek
{ {
for (int j = 0; j < n; j++) for (int j = 0; j < n; j++)
{ {
if (M[i,j] != null) if (M[i,j] != 0.0)
{ {
elek++; elek++;
} }
@@ -62,7 +66,7 @@ namespace OE.ALGA.Adatszerkezetek
{ {
for (int j = 0; j < n; j++) 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]); SulyozottEgeszGrafEl egeszgrafel = new SulyozottEgeszGrafEl(i, j, M[i,j]);
fahalmaz.Beszur(egeszgrafel); fahalmaz.Beszur(egeszgrafel);
@@ -75,7 +79,7 @@ namespace OE.ALGA.Adatszerkezetek
public float Suly(int honnan, int hova) public float Suly(int honnan, int hova)
{ {
if(M[honnan, hova] != null) if(M[honnan, hova] != 0.0)
{ {
return M[honnan, hova]; return M[honnan, hova];
} }
@@ -90,7 +94,7 @@ namespace OE.ALGA.Adatszerkezetek
FaHalmaz<int> fahalmaz = new FaHalmaz<int>(); FaHalmaz<int> fahalmaz = new FaHalmaz<int>();
for (int i = 0; i < n; i++) for (int i = 0; i < n; i++)
{ {
if (M[csucs, i] != null) if (M[csucs, i] != 0.0)
{ {
fahalmaz.Beszur(i); fahalmaz.Beszur(i);
} }
@@ -105,7 +109,109 @@ namespace OE.ALGA.Adatszerkezetek
public bool VezetEl(int honnan, int hova) public bool VezetEl(int honnan, int hova)
{ {
return (M[honnan, hova]!= null); return (M[honnan, hova]!= 0.0);
}
}
public class Utkereses
{
public static Szotar<V, float> Dijkstra<V, E>(SulyozottGraf<V, E> g, V start) where V: IComparable
{
Szotar<V, float> legrovidebb = new HasitoSzotarTulcsordulasiTerulettel<V, float>(g.CsucsokSzama);
Szotar<V, V> P = new HasitoSzotarTulcsordulasiTerulettel<V,V>(g.CsucsokSzama);
KupacPrioritasosSor<V> S = new KupacPrioritasosSor<V>(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<V, V> Prim<V, E>(SulyozottGraf<V, E> g, V start) where V: IComparable
{
Szotar<V, float> feszito = new HasitoSzotarTulcsordulasiTerulettel<V, float>(g.CsucsokSzama);
Szotar<V, V> P = new HasitoSzotarTulcsordulasiTerulettel<V,V>(g.CsucsokSzama);
KupacPrioritasosSor<V> S = new KupacPrioritasosSor<V>(g.CsucsokSzama, (ez, ennel) => feszito.Kiolvas(ez) < feszito.Kiolvas(ennel));
FaHalmaz<V> helper = new FaHalmaz<V>();
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<E> Kruskal<V, E>(SulyozottGraf<V, E> g) where E: SulyozottGrafEl<V>, IComparable
{
FaHalmaz<E> feszitofa = new FaHalmaz<E>();
Szotar<V, int> vhalmaz = new HasitoSzotarTulcsordulasiTerulettel<V, int>(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;
} }
} }
} }

View File

@@ -1,154 +1,154 @@
//using NUnit.Framework; using NUnit.Framework;
//using OE.ALGA.Paradigmak; using OE.ALGA.Paradigmak;
//namespace OE.ALGA.Tesztek.Paradigmak namespace OE.ALGA.Tesztek.Paradigmak
//{ {
// [TestFixture(Category = "Paradigmák", TestName = "02 - Feltételes Feladat Tároló Tesztek")] [TestFixture(Category = "Paradigmák", TestName = "02 - Feltételes Feladat Tároló Tesztek")]
// public class FeltetelesFeladatTaroloTesztek public class FeltetelesFeladatTaroloTesztek
// { {
// [TestCase] [TestCase]
// public void Felvesz() public void Felvesz()
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(5); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(5);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// } }
// [TestCase] [TestCase]
// public void TulsokatFelvesz() public void TulsokatFelvesz()
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(3); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(3);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// Assert.Throws<TaroloMegteltKivetel>(() => tarolo.Felvesz(a)); Assert.Throws<TaroloMegteltKivetel>(() => tarolo.Felvesz(a));
// } }
// [TestCase] [TestCase]
// public void NincsMitVegrehajtani() public void NincsMitVegrehajtani()
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(2); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(2);
// tarolo.MindentVegrehajt(); tarolo.MindentVegrehajt();
// } }
// [TestCase] [TestCase]
// public void MindenVegrehajtas() public void MindenVegrehajtas()
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(2); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(2);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// TesztFeladat b = new TesztFeladat("b"); TesztFeladat b = new TesztFeladat("b");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(b); tarolo.Felvesz(b);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a.Vegrehajtott, Is.False); Assert.That(a.Vegrehajtott, Is.False);
// Assert.That(b.Vegrehajtott, Is.False); Assert.That(b.Vegrehajtott, Is.False);
// }); });
// tarolo.MindentVegrehajt(); tarolo.MindentVegrehajt();
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a.Vegrehajtott, Is.True); Assert.That(a.Vegrehajtott, Is.True);
// Assert.That(b.Vegrehajtott, Is.True); Assert.That(b.Vegrehajtott, Is.True);
// }); });
// } }
// [TestCase] [TestCase]
// public void FeltetelesVegrehajtas() public void FeltetelesVegrehajtas()
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10);
// TesztFeladat a1 = new TesztFeladat("a1"); TesztFeladat a1 = new TesztFeladat("a1");
// TesztFeladat b1 = new TesztFeladat("b1"); TesztFeladat b1 = new TesztFeladat("b1");
// TesztFeladat a2 = new TesztFeladat("a2"); TesztFeladat a2 = new TesztFeladat("a2");
// tarolo.Felvesz(a1); tarolo.Felvesz(a1);
// tarolo.Felvesz(b1); tarolo.Felvesz(b1);
// tarolo.Felvesz(a2); tarolo.Felvesz(a2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a1.Vegrehajtott, Is.False); Assert.That(a1.Vegrehajtott, Is.False);
// Assert.That(b1.Vegrehajtott, Is.False); Assert.That(b1.Vegrehajtott, Is.False);
// Assert.That(a2.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 tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a'; }); // csak 'a' kezdetűek végrehajtása
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a1.Vegrehajtott, Is.True); Assert.That(a1.Vegrehajtott, Is.True);
// Assert.That(b1.Vegrehajtott, Is.False); Assert.That(b1.Vegrehajtott, Is.False);
// Assert.That(a2.Vegrehajtott, Is.True); Assert.That(a2.Vegrehajtott, Is.True);
// }); });
// tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'b'; }); // csak 'b' kezdetűek végrehajtása tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'b'; }); // csak 'b' kezdetűek végrehajtása
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a1.Vegrehajtott, Is.True); Assert.That(a1.Vegrehajtott, Is.True);
// Assert.That(b1.Vegrehajtott, Is.True); Assert.That(b1.Vegrehajtott, Is.True);
// Assert.That(a2.Vegrehajtott, Is.True); Assert.That(a2.Vegrehajtott, Is.True);
// }); });
// } }
// [TestCase] [TestCase]
// public void FeltetelesFuggosegesVegrehajtas() public void FeltetelesFuggosegesVegrehajtas()
// { {
// FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10); FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10);
// TesztFuggoFeladat a1 = new TesztFuggoFeladat("a1") { Vegrehajthato = true }; TesztFuggoFeladat a1 = new TesztFuggoFeladat("a1") { Vegrehajthato = true };
// TesztFuggoFeladat b1 = new TesztFuggoFeladat("b1") { Vegrehajthato = true }; TesztFuggoFeladat b1 = new TesztFuggoFeladat("b1") { Vegrehajthato = true };
// TesztFuggoFeladat a2 = new TesztFuggoFeladat("a2") { Vegrehajthato = false }; TesztFuggoFeladat a2 = new TesztFuggoFeladat("a2") { Vegrehajthato = false };
// tarolo.Felvesz(a1); tarolo.Felvesz(a1);
// tarolo.Felvesz(b1); tarolo.Felvesz(b1);
// tarolo.Felvesz(a2); tarolo.Felvesz(a2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a1.Vegrehajtott, Is.False); Assert.That(a1.Vegrehajtott, Is.False);
// Assert.That(b1.Vegrehajtott, Is.False); Assert.That(b1.Vegrehajtott, Is.False);
// Assert.That(a2.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ó tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a' && x.FuggosegTeljesul; }); // csak 'a' kezdetű és végrehajtható
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a1.Vegrehajtott, Is.True); Assert.That(a1.Vegrehajtott, Is.True);
// Assert.That(b1.Vegrehajtott, Is.False); Assert.That(b1.Vegrehajtott, Is.False);
// Assert.That(a2.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ó tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'b' && x.FuggosegTeljesul; }); // csak 'b' kezdetű és végrehajtható
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a1.Vegrehajtott, Is.True); Assert.That(a1.Vegrehajtott, Is.True);
// Assert.That(b1.Vegrehajtott, Is.True); Assert.That(b1.Vegrehajtott, Is.True);
// Assert.That(a2.Vegrehajtott, Is.False); Assert.That(a2.Vegrehajtott, Is.False);
// }); });
// a2.Vegrehajthato = true; a2.Vegrehajthato = true;
// tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a' && x.FuggosegTeljesul; }); // csak 'a' kezdetű és végrehajtható tarolo.FeltetelesVegrehajtas(x => { Guardian.Recursion.CheckStackTrace(); return x.Azonosito[0] == 'a' && x.FuggosegTeljesul; }); // csak 'a' kezdetű és végrehajtható
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a1.Vegrehajtott, Is.True); Assert.That(a1.Vegrehajtott, Is.True);
// Assert.That(b1.Vegrehajtott, Is.True); Assert.That(b1.Vegrehajtott, Is.True);
// Assert.That(a2.Vegrehajtott, Is.True); Assert.That(a2.Vegrehajtott, Is.True);
// }); });
// } }
// [TestCase] [TestCase]
// public void Bejaro() public void Bejaro()
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// TesztFeladat b = new TesztFeladat("b"); TesztFeladat b = new TesztFeladat("b");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(b); tarolo.Felvesz(b);
// string nevek = ""; string nevek = "";
// foreach (TesztFeladat u in tarolo) foreach (TesztFeladat u in tarolo)
// nevek += u.Azonosito; nevek += u.Azonosito;
// Assert.That(nevek, Is.EqualTo("ab")); Assert.That(nevek, Is.EqualTo("ab"));
// } }
// [TestCase] [TestCase]
// public void FeltetelesBejaro() public void FeltetelesBejaro()
// { {
// FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10); FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10);
// tarolo.BejaroFeltetel = (x => { Guardian.Recursion.CheckStackTrace(); return x.FuggosegTeljesul; }); tarolo.BejaroFeltetel = (x => { Guardian.Recursion.CheckStackTrace(); return x.FuggosegTeljesul; });
// TesztFuggoFeladat a = new TesztFuggoFeladat("a") { Vegrehajthato = true }; TesztFuggoFeladat a = new TesztFuggoFeladat("a") { Vegrehajthato = true };
// TesztFuggoFeladat b = new TesztFuggoFeladat("b") { Vegrehajthato = false }; TesztFuggoFeladat b = new TesztFuggoFeladat("b") { Vegrehajthato = false };
// TesztFuggoFeladat c = new TesztFuggoFeladat("c") { Vegrehajthato = true }; TesztFuggoFeladat c = new TesztFuggoFeladat("c") { Vegrehajthato = true };
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(b); tarolo.Felvesz(b);
// tarolo.Felvesz(c); tarolo.Felvesz(c);
// string nevek = ""; string nevek = "";
// foreach (TesztFeladat u in tarolo) foreach (TesztFeladat u in tarolo)
// nevek += u.Azonosito; nevek += u.Azonosito;
// Assert.That(nevek, Is.EqualTo("ac")); Assert.That(nevek, Is.EqualTo("ac"));
// } }
// } }
//} }

View File

@@ -1,112 +1,112 @@
//using NUnit.Framework; using NUnit.Framework;
//using OE.ALGA.Adatszerkezetek; using OE.ALGA.Adatszerkezetek;
//namespace OE.ALGA.Tesztek.Adatszerkezetek namespace OE.ALGA.Tesztek.Adatszerkezetek
//{ {
// [TestFixture(Category = "Adatszerkezetek", TestName = "06 - Szótár Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "06 - Szótár Tesztek")]
// public class SzotarTesztek public class SzotarTesztek
// { {
// private static int TesztHasitoFuggveny(string kulcs) private static int TesztHasitoFuggveny(string kulcs)
// { {
// if (string.IsNullOrEmpty(kulcs)) if (string.IsNullOrEmpty(kulcs))
// return 0; return 0;
// int sum = 0; int sum = 0;
// foreach (char c in kulcs.ToCharArray()) foreach (char c in kulcs.ToCharArray())
// sum += ((byte)c); 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 return sum * sum; // a modulo osztást a szótárnak kell végeznie, mert ő tudja csak a belső tömb méretet
// } }
// [TestCase] [TestCase]
// public void AlapMukodes() public void AlapMukodes()
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(10, TesztHasitoFuggveny); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(10, TesztHasitoFuggveny);
// sz.Beir("Bela", 5); sz.Beir("Bela", 5);
// sz.Beir("Lajos", 2); sz.Beir("Lajos", 2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5));
// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2));
// }); });
// } }
// [TestCase] [TestCase]
// public void AlapertelmezettHasitoFuggvennyel() //F2.(f) public void AlapertelmezettHasitoFuggvennyel() //F2.(f)
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(10); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(10);
// sz.Beir("Bela", 5); sz.Beir("Bela", 5);
// sz.Beir("Lajos", 2); sz.Beir("Lajos", 2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5));
// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2));
// }); });
// } }
// [TestCase] [TestCase]
// public void Kulcsutkozes() public void Kulcsutkozes()
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(10, TesztHasitoFuggveny); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(10, TesztHasitoFuggveny);
// sz.Beir("Bela", 5); sz.Beir("Bela", 5);
// sz.Beir("Bale", 15); sz.Beir("Bale", 15);
// sz.Beir("Lajos", 2); sz.Beir("Lajos", 2);
// sz.Beir("Lasoj", 12); sz.Beir("Lasoj", 12);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5)); Assert.That(sz.Kiolvas("Bela"), Is.EqualTo(5));
// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2));
// Assert.That(sz.Kiolvas("Bale"), Is.EqualTo(15)); Assert.That(sz.Kiolvas("Bale"), Is.EqualTo(15));
// Assert.That(sz.Kiolvas("Lasoj"), Is.EqualTo(12)); Assert.That(sz.Kiolvas("Lasoj"), Is.EqualTo(12));
// }); });
// } }
// [TestCase] [TestCase]
// public void NullElem() public void NullElem()
// { {
// Szotar<string, string> sz = new HasitoSzotarTulcsordulasiTerulettel<string, string>(5, TesztHasitoFuggveny); Szotar<string, string> sz = new HasitoSzotarTulcsordulasiTerulettel<string, string>(5, TesztHasitoFuggveny);
// sz.Beir("null", null!); sz.Beir("null", null!);
// } }
// [TestCase] [TestCase]
// public void UresKulcs() public void UresKulcs()
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny);
// sz.Beir("", 0); sz.Beir("", 0);
// } }
// [TestCase] [TestCase]
// public void UresElem() public void UresElem()
// { {
// Szotar<string, string> sz = new HasitoSzotarTulcsordulasiTerulettel<string, string>(5, TesztHasitoFuggveny); Szotar<string, string> sz = new HasitoSzotarTulcsordulasiTerulettel<string, string>(5, TesztHasitoFuggveny);
// sz.Beir("Bela", ""); sz.Beir("Bela", "");
// } }
// [TestCase] [TestCase]
// public void NincsElem() public void NincsElem()
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny);
// sz.Beir("Bela", 5); sz.Beir("Bela", 5);
// sz.Beir("Lajos", 2); sz.Beir("Lajos", 2);
// Assert.Throws<HibasKulcsKivetel>(() => sz.Kiolvas("Ferenc")); Assert.Throws<HibasKulcsKivetel>(() => sz.Kiolvas("Ferenc"));
// } }
// [TestCase] [TestCase]
// public void TorlesNull() public void TorlesNull()
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny);
// sz.Beir("Bela", 5); sz.Beir("Bela", 5);
// sz.Beir("Lajos", 2); sz.Beir("Lajos", 2);
// Assert.Throws<HibasKulcsKivetel>(() => sz.Torol(null!)); Assert.Throws<HibasKulcsKivetel>(() => sz.Torol(null!));
// } }
// [TestCase] [TestCase]
// public void TorlesMarad() public void TorlesMarad()
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny);
// sz.Beir("Bela", 5); sz.Beir("Bela", 5);
// sz.Beir("Lajos", 2); sz.Beir("Lajos", 2);
// sz.Torol("Bela"); sz.Torol("Bela");
// Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2)); Assert.That(sz.Kiolvas("Lajos"), Is.EqualTo(2));
// } }
// [TestCase] [TestCase]
// public void TorlesEltunt() public void TorlesEltunt()
// { {
// Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny); Szotar<string, int> sz = new HasitoSzotarTulcsordulasiTerulettel<string, int>(5, TesztHasitoFuggveny);
// sz.Beir("Bela", 5); sz.Beir("Bela", 5);
// sz.Beir("Lajos", 2); sz.Beir("Lajos", 2);
// sz.Torol("Bela"); sz.Torol("Bela");
// Assert.Throws<HibasKulcsKivetel>(() => sz.Kiolvas("Bela")); Assert.Throws<HibasKulcsKivetel>(() => sz.Kiolvas("Bela"));
// } }
// } }
//} }

View File

@@ -1,278 +1,278 @@
//using NUnit.Framework; using NUnit.Framework;
//using OE.ALGA.Adatszerkezetek; using OE.ALGA.Adatszerkezetek;
//namespace OE.ALGA.Tesztek.Adatszerkezetek namespace OE.ALGA.Tesztek.Adatszerkezetek
//{ {
// [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Csúcs Mátrix Súlyozott Gráf Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Csúcs Mátrix Súlyozott Gráf Tesztek")]
// public class CsucsMatrixSulyozottGrafTesztek public class CsucsMatrixSulyozottGrafTesztek
// { {
// [TestCase] [TestCase]
// public void MindenCsucsTeszt() public void MindenCsucsTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(csg.Csucsok.Eleme(0), Is.True); Assert.That(csg.Csucsok.Eleme(0), Is.True);
// Assert.That(csg.Csucsok.Eleme(1), Is.True); Assert.That(csg.Csucsok.Eleme(1), Is.True);
// }); });
// } }
// [TestCase] [TestCase]
// public void MindenElTeszt() public void MindenElTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3);
// csg.UjEl(0, 1, 1.0f); csg.UjEl(0, 1, 1.0f);
// csg.UjEl(0, 2, 2.0f); csg.UjEl(0, 2, 2.0f);
// csg.UjEl(1, 2, 3.0f); csg.UjEl(1, 2, 3.0f);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(csg.Elek.Eleme(new SulyozottEgeszGrafEl(0, 0, 0.0f)), Is.False); 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, 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(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, 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, 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, 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, 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, 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, 2, 0.0f)), Is.False);
// }); });
// } }
// [TestCase] [TestCase]
// public void VezetElTeszt() public void VezetElTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(2);
// Assert.That(csg.VezetEl(0, 1), Is.False); Assert.That(csg.VezetEl(0, 1), Is.False);
// csg.UjEl(0, 1, 1.0f); csg.UjEl(0, 1, 1.0f);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(csg.VezetEl(0, 1), Is.True); Assert.That(csg.VezetEl(0, 1), Is.True);
// Assert.That(csg.VezetEl(1, 0), Is.False); Assert.That(csg.VezetEl(1, 0), Is.False);
// }); });
// } }
// [TestCase] [TestCase]
// public void SzomszedsagTeszt() public void SzomszedsagTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3);
// csg.UjEl(0, 1, 1.0f); csg.UjEl(0, 1, 1.0f);
// csg.UjEl(0, 2, 1.0f); csg.UjEl(0, 2, 1.0f);
// csg.UjEl(1, 2, 1.0f); csg.UjEl(1, 2, 1.0f);
// Halmaz<int> a_szomszedai = csg.Szomszedai(0); Halmaz<int> a_szomszedai = csg.Szomszedai(0);
// Halmaz<int> b_szomszedai = csg.Szomszedai(1); Halmaz<int> b_szomszedai = csg.Szomszedai(1);
// Halmaz<int> c_szomszedai = csg.Szomszedai(2); Halmaz<int> c_szomszedai = csg.Szomszedai(2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(a_szomszedai.Eleme(0), Is.False); Assert.That(a_szomszedai.Eleme(0), Is.False);
// Assert.That(a_szomszedai.Eleme(1), Is.True); Assert.That(a_szomszedai.Eleme(1), Is.True);
// Assert.That(a_szomszedai.Eleme(2), Is.True); Assert.That(a_szomszedai.Eleme(2), Is.True);
// Assert.That(b_szomszedai.Eleme(0), Is.False); Assert.That(b_szomszedai.Eleme(0), Is.False);
// Assert.That(b_szomszedai.Eleme(1), Is.False); Assert.That(b_szomszedai.Eleme(1), Is.False);
// Assert.That(b_szomszedai.Eleme(2), Is.True); Assert.That(b_szomszedai.Eleme(2), Is.True);
// Assert.That(c_szomszedai.Eleme(0), Is.False); Assert.That(c_szomszedai.Eleme(0), Is.False);
// Assert.That(c_szomszedai.Eleme(1), Is.False); Assert.That(c_szomszedai.Eleme(1), Is.False);
// Assert.That(c_szomszedai.Eleme(2), Is.False); Assert.That(c_szomszedai.Eleme(2), Is.False);
// }); });
// } }
// [TestCase] [TestCase]
// public void NemLetezoElTeszt() public void NemLetezoElTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3);
// csg.UjEl(0, 1, 1.0f); csg.UjEl(0, 1, 1.0f);
// csg.UjEl(0, 2, 1.0f); csg.UjEl(0, 2, 1.0f);
// Assert.Throws<NincsElKivetel>(() => csg.Suly(1, 0)); Assert.Throws<NincsElKivetel>(() => csg.Suly(1, 0));
// } }
// [TestCase] [TestCase]
// public void ElSulyTeszt() public void ElSulyTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3);
// csg.UjEl(0, 1, 2.0f); csg.UjEl(0, 1, 2.0f);
// csg.UjEl(0, 2, 3.0f); csg.UjEl(0, 2, 3.0f);
// float szum = 0.0f; float szum = 0.0f;
// csg.Elek.Bejar(x => szum += csg.Suly(x.Honnan, x.Hova)); csg.Elek.Bejar(x => szum += csg.Suly(x.Honnan, x.Hova));
// Assert.That(szum, Is.EqualTo(5.0f)); Assert.That(szum, Is.EqualTo(5.0f));
// } }
// } }
// [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Min Feszítőfa Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Min Feszítőfa Tesztek")]
// public class GrafMinFeszitofaTesztek public class GrafMinFeszitofaTesztek
// { {
// [TestCase] [TestCase]
// public void KisPrimTeszt() public void KisPrimTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3);
// csg.UjEl(0, 1, 10.0f); csg.UjEl(0, 1, 10.0f);
// csg.UjEl(0, 2, 20.0f); csg.UjEl(0, 2, 20.0f);
// csg.UjEl(1, 2, 5.0f); csg.UjEl(1, 2, 5.0f);
// Szotar<int, int> elek = FeszitofaKereses.Prim(csg, 0); Szotar<int, int> elek = FeszitofaKereses.Prim(csg, 0);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(elek.Kiolvas(1), Is.EqualTo(0)); Assert.That(elek.Kiolvas(1), Is.EqualTo(0));
// Assert.That(elek.Kiolvas(2), Is.EqualTo(1)); Assert.That(elek.Kiolvas(2), Is.EqualTo(1));
// }); });
// } }
// [TestCase] [TestCase]
// public void NagyPrimTeszt() public void NagyPrimTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5);
// csg.UjEl(0, 1, 5.0f); csg.UjEl(0, 1, 5.0f);
// csg.UjEl(0, 3, 4.0f); csg.UjEl(0, 3, 4.0f);
// csg.UjEl(1, 0, 5.0f); csg.UjEl(1, 0, 5.0f);
// csg.UjEl(1, 3, 2.0f); csg.UjEl(1, 3, 2.0f);
// csg.UjEl(1, 2, 1.0f); csg.UjEl(1, 2, 1.0f);
// csg.UjEl(2, 1, 1.0f); csg.UjEl(2, 1, 1.0f);
// csg.UjEl(2, 3, 3.0f); csg.UjEl(2, 3, 3.0f);
// csg.UjEl(2, 4, 4.0f); csg.UjEl(2, 4, 4.0f);
// csg.UjEl(3, 0, 4.0f); csg.UjEl(3, 0, 4.0f);
// csg.UjEl(3, 1, 2.0f); csg.UjEl(3, 1, 2.0f);
// csg.UjEl(3, 2, 3.0f); csg.UjEl(3, 2, 3.0f);
// csg.UjEl(3, 4, 1.0f); csg.UjEl(3, 4, 1.0f);
// csg.UjEl(4, 2, 4.0f); csg.UjEl(4, 2, 4.0f);
// csg.UjEl(4, 3, 1.0f); csg.UjEl(4, 3, 1.0f);
// Szotar<int, int> elek = FeszitofaKereses.Prim(csg, 0); Szotar<int, int> elek = FeszitofaKereses.Prim(csg, 0);
// float sum = 0.0f; float sum = 0.0f;
// csg.Csucsok.Bejar(x => csg.Csucsok.Bejar(x =>
// { {
// if (x != 0) if (x != 0)
// { {
// int p = elek.Kiolvas(x); int p = elek.Kiolvas(x);
// sum += csg.Suly(p, x); sum += csg.Suly(p, x);
// } }
// } }
// ); );
// Assert.That(sum, Is.EqualTo(8.0f)); Assert.That(sum, Is.EqualTo(8.0f));
// } }
// [TestCase] [TestCase]
// public void KisKruskalTeszt() public void KisKruskalTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3);
// csg.UjEl(0, 1, 10.0f); csg.UjEl(0, 1, 10.0f);
// csg.UjEl(0, 2, 20.0f); csg.UjEl(0, 2, 20.0f);
// csg.UjEl(1, 2, 5.0f); csg.UjEl(1, 2, 5.0f);
// Halmaz<SulyozottEgeszGrafEl> elek = FeszitofaKereses.Kruskal(csg); Halmaz<SulyozottEgeszGrafEl> elek = FeszitofaKereses.Kruskal(csg);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(0, 1, 10.0f)), Is.True); 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(0, 2, 20.0f)), Is.False);
// Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(1, 2, 5.0f)), Is.True); Assert.That(elek.Eleme(new SulyozottEgeszGrafEl(1, 2, 5.0f)), Is.True);
// }); });
// } }
// [TestCase] [TestCase]
// public void NagyKruskalTeszt() public void NagyKruskalTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(5);
// csg.UjEl(0, 1, 5.0f); csg.UjEl(0, 1, 5.0f);
// csg.UjEl(0, 3, 4.0f); csg.UjEl(0, 3, 4.0f);
// csg.UjEl(1, 0, 5.0f); csg.UjEl(1, 0, 5.0f);
// csg.UjEl(1, 3, 2.0f); csg.UjEl(1, 3, 2.0f);
// csg.UjEl(1, 2, 1.0f); csg.UjEl(1, 2, 1.0f);
// csg.UjEl(2, 1, 1.0f); csg.UjEl(2, 1, 1.0f);
// csg.UjEl(2, 3, 3.0f); csg.UjEl(2, 3, 3.0f);
// csg.UjEl(2, 4, 4.0f); csg.UjEl(2, 4, 4.0f);
// csg.UjEl(3, 0, 4.0f); csg.UjEl(3, 0, 4.0f);
// csg.UjEl(3, 1, 2.0f); csg.UjEl(3, 1, 2.0f);
// csg.UjEl(3, 2, 3.0f); csg.UjEl(3, 2, 3.0f);
// csg.UjEl(3, 4, 1.0f); csg.UjEl(3, 4, 1.0f);
// csg.UjEl(4, 2, 4.0f); csg.UjEl(4, 2, 4.0f);
// csg.UjEl(4, 3, 1.0f); csg.UjEl(4, 3, 1.0f);
// Halmaz<SulyozottEgeszGrafEl> elek = FeszitofaKereses.Kruskal(csg); Halmaz<SulyozottEgeszGrafEl> elek = FeszitofaKereses.Kruskal(csg);
// float sum = 0.0f; float sum = 0.0f;
// elek.Bejar(x => elek.Bejar(x =>
// { {
// sum += x.Suly; sum += x.Suly;
// } }
// ); );
// Assert.That(sum, Is.EqualTo(8.0f)); Assert.That(sum, Is.EqualTo(8.0f));
// } }
// } }
// [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Útkeresés Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "12 - Gráf Útkeresés Tesztek")]
// public class GrafUtkeresesTesztek public class GrafUtkeresesTesztek
// { {
// [TestCase] [TestCase]
// public void DijkstraKicsiGrafTeszt() public void DijkstraKicsiGrafTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(3);
// csg.UjEl(0, 1, 10.0f); csg.UjEl(0, 1, 10.0f);
// csg.UjEl(0, 2, 20.0f); csg.UjEl(0, 2, 20.0f);
// Szotar<int, float> hossz = Utkereses.Dijkstra(csg, 0); Szotar<int, float> hossz = Utkereses.Dijkstra(csg, 0);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f)); Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f));
// Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f)); Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f));
// Assert.That(hossz.Kiolvas(2), Is.EqualTo(20.0f)); Assert.That(hossz.Kiolvas(2), Is.EqualTo(20.0f));
// }); });
// csg.UjEl(1, 2, 5.0f); csg.UjEl(1, 2, 5.0f);
// hossz = Utkereses.Dijkstra(csg, 0); hossz = Utkereses.Dijkstra(csg, 0);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f)); Assert.That(hossz.Kiolvas(0), Is.EqualTo(0.0f));
// Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f)); Assert.That(hossz.Kiolvas(1), Is.EqualTo(10.0f));
// Assert.That(hossz.Kiolvas(2), Is.EqualTo(15.0f)); Assert.That(hossz.Kiolvas(2), Is.EqualTo(15.0f));
// }); });
// } }
// [TestCase] [TestCase]
// public void DijkstraJegyzetGrafTeszt() public void DijkstraJegyzetGrafTeszt()
// { {
// CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(7); CsucsmatrixSulyozottEgeszGraf csg = new CsucsmatrixSulyozottEgeszGraf(7);
// csg.UjEl(0, 1, 1.0f); csg.UjEl(0, 1, 1.0f);
// csg.UjEl(0, 3, 2.0f); csg.UjEl(0, 3, 2.0f);
// csg.UjEl(0, 4, 4.0f); csg.UjEl(0, 4, 4.0f);
// csg.UjEl(1, 0, 1.0f); csg.UjEl(1, 0, 1.0f);
// csg.UjEl(1, 3, 2.0f); csg.UjEl(1, 3, 2.0f);
// csg.UjEl(1, 2, 9.0f); csg.UjEl(1, 2, 9.0f);
// csg.UjEl(2, 1, 9.0f); csg.UjEl(2, 1, 9.0f);
// csg.UjEl(2, 3, 5.0f); csg.UjEl(2, 3, 5.0f);
// csg.UjEl(2, 5, 1.0f); csg.UjEl(2, 5, 1.0f);
// csg.UjEl(3, 0, 2.0f); csg.UjEl(3, 0, 2.0f);
// csg.UjEl(3, 1, 2.0f); csg.UjEl(3, 1, 2.0f);
// csg.UjEl(3, 2, 5.0f); csg.UjEl(3, 2, 5.0f);
// csg.UjEl(3, 5, 3.0f); csg.UjEl(3, 5, 3.0f);
// csg.UjEl(5, 2, 1.0f); csg.UjEl(5, 2, 1.0f);
// csg.UjEl(5, 3, 3.0f); csg.UjEl(5, 3, 3.0f);
// csg.UjEl(5, 6, 3.0f); csg.UjEl(5, 6, 3.0f);
// csg.UjEl(6, 5, 3.0f); csg.UjEl(6, 5, 3.0f);
// Szotar<int, float> hossz = Utkereses.Dijkstra(csg, 1); Szotar<int, float> hossz = Utkereses.Dijkstra(csg, 1);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(hossz.Kiolvas(0), Is.EqualTo(1.0f)); Assert.That(hossz.Kiolvas(0), Is.EqualTo(1.0f));
// Assert.That(hossz.Kiolvas(1), Is.EqualTo(0.0f)); Assert.That(hossz.Kiolvas(1), Is.EqualTo(0.0f));
// Assert.That(hossz.Kiolvas(2), Is.EqualTo(6.0f)); Assert.That(hossz.Kiolvas(2), Is.EqualTo(6.0f));
// Assert.That(hossz.Kiolvas(3), Is.EqualTo(2.0f)); Assert.That(hossz.Kiolvas(3), Is.EqualTo(2.0f));
// Assert.That(hossz.Kiolvas(4), Is.EqualTo(5.0f)); Assert.That(hossz.Kiolvas(4), Is.EqualTo(5.0f));
// Assert.That(hossz.Kiolvas(5), Is.EqualTo(5.0f)); Assert.That(hossz.Kiolvas(5), Is.EqualTo(5.0f));
// Assert.That(hossz.Kiolvas(6), Is.EqualTo(8.0f)); Assert.That(hossz.Kiolvas(6), Is.EqualTo(8.0f));
// }); });
// } }
// } }
//} }