diff --git a/ALGA/Adatszerkezetek/04_LancoltImplementacio.cs b/ALGA/Adatszerkezetek/04_LancoltImplementacio.cs index 6949690..b120174 100644 --- a/ALGA/Adatszerkezetek/04_LancoltImplementacio.cs +++ b/ALGA/Adatszerkezetek/04_LancoltImplementacio.cs @@ -163,8 +163,8 @@ namespace OE.ALGA.Adatszerkezetek } public class LancoltLista : Lista, IEnumerable { - int n; - LancElem? fej; + protected int n; + protected LancElem? fej; public int Elemszam { @@ -283,7 +283,7 @@ namespace OE.ALGA.Adatszerkezetek } } } - private LancElem Indexedik(int index) + protected LancElem Indexedik(int index) { LancElem? tmp = fej; for (int i = 0; i < index; i++) @@ -350,4 +350,38 @@ namespace OE.ALGA.Adatszerkezetek aktualisElem = fej; } } + public class KorlatoltLancoltLista :LancoltLista where T: IComparable + { + public LancElem min + { + get + { + LancElem cur = this.fej; + for (int i = 0; i < n; i++) + { + if(Indexedik(i).tart.CompareTo(cur.tart) > 0) + { + cur = Indexedik(i); + } + } + return cur; + } + } + public LancElem max + { + get + { + LancElem cur = this.fej; + for (int i = 0; i < n; i++) + { + if(Indexedik(i).tart.CompareTo(cur.tart) < 0) + { + cur = Indexedik(i); + } + } + return cur; + } + } + + } } \ No newline at end of file diff --git a/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs b/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs index 6d9e187..5ef5813 100644 --- a/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs +++ b/ALGA/Adatszerkezetek/05_BinarisKeresoFa.cs @@ -61,13 +61,14 @@ public class FaHalmaz : Halmaz where T : IComparable } else { - if (p.tart.CompareTo(ertek) > 0) + int asd = ertek.CompareTo(p.tart); + if (asd < 0) { p.bal = ReszfabaBeszur(p.bal, ertek); } else { - if (p.tart.CompareTo(ertek) < 0) + if (asd > 0) { p.jobb = ReszfabaBeszur(p.jobb, ertek); } diff --git a/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs b/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs index d636429..8456b94 100644 --- a/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs +++ b/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs @@ -80,7 +80,7 @@ namespace OE.ALGA.Adatszerkezetek get { FaHalmaz fahalmaz = new FaHalmaz(); - for (int i = 0; i < n-1; i++) + for (int i = 0; i < n; i++) { fahalmaz.Beszur(i); } @@ -139,7 +139,7 @@ namespace OE.ALGA.Adatszerkezetek return M[honnan, hova]; } } - public static class GrafBejaras + public static class GrafBejarasok { public static Halmaz SzelessegiBejaras(Graf g, V start, Action muvelet) where V : IComparable { @@ -167,21 +167,24 @@ namespace OE.ALGA.Adatszerkezetek public static Halmaz MelysegiBejaras(Graf g, V start, Action muvelet) where V : IComparable { Halmaz fahalmaz = new FaHalmaz(); - MelysegiBejarasRekurzio(g, start, fahalmaz, muvelet); + fahalmaz.Beszur(start); + + MelysegiBejarasRekurzio(g, start, muvelet, fahalmaz); return fahalmaz; } - private static void MelysegiBejarasRekurzio(Graf g, V k, Halmaz F, Action muvelet) where V: IComparable + private static void MelysegiBejarasRekurzio(Graf g, V k, Action muvelet, Halmaz F) where V: IComparable { - F.Beszur(k); + muvelet(k); FaHalmaz halmaz = (FaHalmaz)g.Szomszedai(k); halmaz.Bejar(x => { if (!F.Eleme(x)) { - MelysegiBejarasRekurzio(g, x, F, muvelet); + F.Beszur(x); + MelysegiBejarasRekurzio(g, x, muvelet, F); } }); } } -} \ No newline at end of file +} diff --git a/ALGA/Adatszerkezetek/11_Kupac.cs b/ALGA/Adatszerkezetek/11_Kupac.cs index 89a1058..2979b79 100644 --- a/ALGA/Adatszerkezetek/11_Kupac.cs +++ b/ALGA/Adatszerkezetek/11_Kupac.cs @@ -2,5 +2,163 @@ namespace OE.ALGA.Adatszerkezetek { - // 11. heti labor feladat - Tesztek: 11_KupacTesztek.cs + public class Kupac + { + protected T[] E; + protected int n; + protected Func nagyobbPrioritas; + + public Kupac(T[] E, int n, Func nagyobbPrioritas) + { + this.E = E; + this.n = n; + this.nagyobbPrioritas = nagyobbPrioritas; + KupacotEpit(); + } + public static int Bal(int i) + { + return 2 * i + 1; + } + + public static int Jobb(int i) + { + return 2 * i + 2; + } + + public static int Szulo(int i) + { + return (i - 1) / 2; + } + protected void Kupacol(int i) + { + bool vege = false; + while (!vege) + { + int bal = Bal(i); + int jobb = Jobb(i); + int legnagyobb = i; + + if (bal < n && nagyobbPrioritas(E[bal], E[legnagyobb])) + legnagyobb = bal; + + if (jobb < n && nagyobbPrioritas(E[jobb], E[legnagyobb])) + legnagyobb = jobb; + + if (legnagyobb != i) + { + T csere = E[i]; + E[i] = E[legnagyobb]; + E[legnagyobb] = csere; + i = legnagyobb; + } + else + { + vege = true; + } + } + } + protected void KupacotEpit() + { + for (int i = n / 2 - 1; i >= 0; i--) + Kupacol(i); + } + } + + public class KupacRendezes : Kupac where T : IComparable + { + public KupacRendezes(T[] A) + : base(A, A.Length, (x, y) => x.CompareTo(y) > 0) + { + } + + public void Rendezes() + { + int eredetiN = n; + + for (int i = n - 1; i >= 1; i--) + { + T csere = E[0]; + E[0] = E[i]; + E[i] = csere; + + n--; + Kupacol(0); + } + + n = eredetiN; + } + } + + public class KupacPrioritasosSor : Kupac, PrioritasosSor + { + public KupacPrioritasosSor(int meret, Func nagyobbPrioritas) + : base(new T[meret], 0, nagyobbPrioritas) + { + } + + public bool Ures + { + get { return n == 0; } + } + + private void KulcsotFelvisz(int i) + { + while (i > 0 && nagyobbPrioritas(E[i], E[Szulo(i)])) + { + int s = Szulo(i); + T csere = E[i]; + E[i] = E[s]; + E[s] = csere; + i = s; + } + } + + public void Sorba(T ertek) + { + if (n == E.Length) + throw new NincsHelyKivetel(); + + E[n] = ertek; + KulcsotFelvisz(n); + n++; + } + + public T Sorbol() + { + if (Ures) + throw new NincsElemKivetel(); + + T max = E[0]; + E[0] = E[n - 1]; + n--; + + if (n > 0) + Kupacol(0); + + return max; + } + + public T Elso() + { + if (Ures) + throw new NincsElemKivetel(); + return E[0]; + } + + public void Frissit(T ertek) + { + int poz = -1; + for (int i = 0; i < n && poz == -1; i++) + { + if (Equals(E[i], ertek)) + poz = i; + } + + if (poz == -1) + throw new NincsElemKivetel(); + + KulcsotFelvisz(poz); + Kupacol(poz); + } + } } \ No newline at end of file diff --git a/ALGA/Adatszerkezetek/12_SulyozottGraf.cs b/ALGA/Adatszerkezetek/12_SulyozottGraf.cs index 38080ee..5b5532e 100644 --- a/ALGA/Adatszerkezetek/12_SulyozottGraf.cs +++ b/ALGA/Adatszerkezetek/12_SulyozottGraf.cs @@ -2,5 +2,110 @@ namespace OE.ALGA.Adatszerkezetek { - // 12. heti labor feladat - Tesztek: 12_SulyozottGrafTesztek.cs + public class SulyozottEgeszGrafEl : EgeszGrafEl, SulyozottGrafEl + { + public float Suly {get;} + public SulyozottEgeszGrafEl(int honnan, int hova, float suly) : base(honnan, hova) + { + Suly = suly; + } + + } + public class CsucsmatrixSulyozottEgeszGraf : SulyozottGraf + { + int n; + float[,] M; + public int CsucsokSzama {get{return n;}} + + public int ElekSzama + { + get + { + int elek = 0; + for (int i = 0; i < n; i++) + { + for (int j = 0; j < n; j++) + { + if (M[i,j] != null) + { + elek++; + } + } + } + return elek; + } + } + public CsucsmatrixSulyozottEgeszGraf(int n) + { + this.n = n; + M = new float[n,n]; + } + public Halmaz Csucsok + { + get + { + FaHalmaz fahalmaz = new FaHalmaz(); + for (int i = 0; i < n; i++) + { + fahalmaz.Beszur(i); + } + return fahalmaz; + } + } + + public Halmaz Elek + { + get + { + FaHalmaz fahalmaz = new FaHalmaz(); + for (int i = 0; i < n; i++) + { + for (int j = 0; j < n; j++) + { + if (M[i,j] != null) + { + SulyozottEgeszGrafEl egeszgrafel = new SulyozottEgeszGrafEl(i, j, M[i,j]); + fahalmaz.Beszur(egeszgrafel); + } + } + } + return fahalmaz; + } + } + + public float Suly(int honnan, int hova) + { + if(M[honnan, hova] != null) + { + return M[honnan, hova]; + } + else + { + throw new NincsElKivetel(); + } + } + + public Halmaz Szomszedai(int csucs) + { + FaHalmaz fahalmaz = new FaHalmaz(); + for (int i = 0; i < n; i++) + { + if (M[csucs, i] != null) + { + fahalmaz.Beszur(i); + } + } + return fahalmaz; + } + + public void UjEl(int honnan, int hova, float suly) + { + M[honnan, hova] = suly; + } + + public bool VezetEl(int honnan, int hova) + { + return (M[honnan, hova]!= null); + } + } } diff --git a/Tesztek/09_VisszalepesesKeresesTesztek.cs b/Tesztek/09_VisszalepesesKeresesTesztek.cs index 519a00b..a6c14a7 100644 --- a/Tesztek/09_VisszalepesesKeresesTesztek.cs +++ b/Tesztek/09_VisszalepesesKeresesTesztek.cs @@ -1,79 +1,80 @@ -// using Microsoft.VisualStudio.TestTools.UnitTesting; -// using OE.ALGA.Optimalizalas; +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using OE.ALGA.Optimalizalas; -// namespace OE.ALGA.Tesztek -// { -// [TestClass()] -// public class VisszalepesesKeresesTesztek -// { -// [TestMethod()] -// public void JegyzetbenLevoPeldaErtekTeszt() //F2. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); -// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); -// Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek()); -// } +namespace OE.ALGA.Tesztek +{ + [TestClass()] + public class VisszalepesesKeresesTesztek + { + [TestMethod()] + public void JegyzetbenLevoPeldaErtekTeszt() //F2. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); + VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); + Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek()); + } -// [TestMethod()] -// public void JegyzetbenLevoPeldaMegoldasTeszt() //F2. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); -// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); -// CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas()); -// } + [TestMethod()] + public void JegyzetbenLevoPeldaMegoldasTeszt() //F2. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); + VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); + CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas()); + } -// [TestMethod()] -// public void NagyPeldaMegoldasTeszt() //F2. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); -// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); -// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); -// } + [TestMethod()] + public void NagyPeldaMegoldasTeszt() //F2. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); + VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); + Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); + } -// [TestMethod()] -// public void LepesszamVizsgalat() //F2. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); -// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); -// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); -// Console.WriteLine("Lépésszám: " + opt.LepesSzam); -// } -// } + [TestMethod()] + public void LepesszamVizsgalat() //F2. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); + VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); + Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); + Console.WriteLine("Lépésszám: " + opt.LepesSzam); + } + } -// [TestClass()] -// public class SzetvalasztasEsKorlatozasTesztek -// { -// [TestMethod()] -// public void JegyzetbenLevoPeldaErtekTeszt() //F4. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); -// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); -// Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek()); -// } + [TestClass()] + public class SzetvalasztasEsKorlatozasTesztek + { + [TestMethod()] + public void JegyzetbenLevoPeldaErtekTeszt() //F4. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); + SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); + Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek()); + } -// [TestMethod()] -// public void JegyzetbenLevoPeldaMegoldasTeszt() //F4. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); -// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); -// CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas()); -// } + [TestMethod()] + public void JegyzetbenLevoPeldaMegoldasTeszt() //F4. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); + SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); + CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas()); + } -// [TestMethod()] -// public void NagyPeldaMegoldasTeszt() //F4. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); -// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); -// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); -// } + [TestMethod()] + public void NagyPeldaMegoldasTeszt() //F4. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); + SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); + Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); + } -// [TestMethod()] -// public void LepesszamVizsgalat() //F4. -// { -// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); -// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); -// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); -// Console.WriteLine("Lépésszám: " + opt.LepesSzam); -// } -// } -// } + [TestMethod()] + public void LepesszamVizsgalat() //F4. + { + HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); + SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); + Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); + Console.WriteLine("Lépésszám: " + opt.LepesSzam); + } + } +} diff --git a/Tesztek/10_SulyozatlanGrafTesztek.cs b/Tesztek/10_SulyozatlanGrafTesztek.cs index 1795a6a..a02e23d 100644 --- a/Tesztek/10_SulyozatlanGrafTesztek.cs +++ b/Tesztek/10_SulyozatlanGrafTesztek.cs @@ -1,138 +1,138 @@ -//using NUnit.Framework; -//using OE.ALGA.Adatszerkezetek; +using NUnit.Framework; +using OE.ALGA.Adatszerkezetek; -//namespace OE.ALGA.Tesztek.Adatszerkezetek -//{ -// [TestFixture(Category = "Adatszerkezetek", TestName = "10 - Csúcsmátrix Gráf Tesztek")] -// public class CsucsMatrixGrafTesztek -// { -// [TestCase] -// public void MindenCsucsTeszt() -// { -// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(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 = "10 - Csúcsmátrix Gráf Tesztek")] + public class CsucsMatrixGrafTesztek + { + [TestCase] + public void MindenCsucsTeszt() + { + CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(2); + Assert.Multiple(() => + { + Assert.That(csg.Csucsok.Eleme(0), Is.True); + Assert.That(csg.Csucsok.Eleme(1), Is.True); + }); + } -// [TestCase] -// public void MindenElTeszt() -// { -// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3); -// csg.UjEl(0, 1); -// csg.UjEl(0, 2); -// csg.UjEl(1, 2); + [TestCase] + public void MindenElTeszt() + { + CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3); + csg.UjEl(0, 1); + csg.UjEl(0, 2); + csg.UjEl(1, 2); -// Assert.Multiple(() => -// { -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 0)), Is.False); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 1)), Is.True); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 2)), Is.True); + Assert.Multiple(() => + { + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 0)), Is.False); + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 1)), Is.True); + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 2)), Is.True); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(1, 0)), Is.False); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(1, 1)), Is.False); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(1, 2)), Is.True); + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(1, 0)), Is.False); + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(1, 1)), Is.False); + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(1, 2)), Is.True); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 0)), Is.False); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 1)), Is.False); -// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 2)), Is.False); -// }); -// } + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 0)), Is.False); + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 1)), Is.False); + Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 2)), Is.False); + }); + } -// [TestCase] -// public void VezetElTeszt() -// { -// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(2); -// Assert.That(csg.VezetEl(0, 1), Is.False); -// csg.UjEl(0, 1); -// Assert.Multiple(() => -// { -// Assert.That(csg.VezetEl(0, 1), Is.True); -// Assert.That(csg.VezetEl(1, 0), Is.False); -// }); -// } + [TestCase] + public void VezetElTeszt() + { + CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(2); + Assert.That(csg.VezetEl(0, 1), Is.False); + csg.UjEl(0, 1); + Assert.Multiple(() => + { + Assert.That(csg.VezetEl(0, 1), Is.True); + Assert.That(csg.VezetEl(1, 0), Is.False); + }); + } -// [TestCase] -// public void SzomszedsagTeszt() -// { -// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3); -// csg.UjEl(0, 1); -// csg.UjEl(0, 2); -// csg.UjEl(1, 2); + [TestCase] + public void SzomszedsagTeszt() + { + CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3); + csg.UjEl(0, 1); + csg.UjEl(0, 2); + csg.UjEl(1, 2); -// 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); + }); + } + } -// [TestFixture(Category = "Adatszerkezetek", TestName = "10 - Gráf Bejárás Tesztek")] -// public class GrafBejarasTesztek -// { -// [TestCase] -// public void SzelessegiBejarasTeszt() -// { -// CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6); -// g.UjEl(0, 1); -// g.UjEl(1, 2); -// g.UjEl(1, 4); -// g.UjEl(2, 3); -// g.UjEl(2, 4); -// g.UjEl(4, 3); -// g.UjEl(3, 0); + [TestFixture(Category = "Adatszerkezetek", TestName = "10 - Gráf Bejárás Tesztek")] + public class GrafBejarasTesztek + { + [TestCase] + public void SzelessegiBejarasTeszt() + { + CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6); + g.UjEl(0, 1); + g.UjEl(1, 2); + g.UjEl(1, 4); + g.UjEl(2, 3); + g.UjEl(2, 4); + g.UjEl(4, 3); + g.UjEl(3, 0); -// string ut = ""; -// Halmaz elertCsucsok = GrafBejarasok.SzelessegiBejaras(g, 0, (a) => { ut += a; }); + string ut = ""; + Halmaz elertCsucsok = GrafBejarasok.SzelessegiBejaras(g, 0, (a) => { ut += a; }); -// Assert.Multiple(() => -// { -// Assert.That(ut == "01243" || ut == "01423", Is.True); -// for (int i = 0; i <= 4; i++) -// Assert.That(elertCsucsok.Eleme(i), Is.True); -// Assert.That(elertCsucsok.Eleme(6), Is.False); -// }); -// } + Assert.Multiple(() => + { + Assert.That(ut == "01243" || ut == "01423", Is.True); + for (int i = 0; i <= 4; i++) + Assert.That(elertCsucsok.Eleme(i), Is.True); + Assert.That(elertCsucsok.Eleme(6), Is.False); + }); + } -// [TestCase] -// public void MelysegiBejarasTeszt() -// { -// CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6); -// g.UjEl(0, 1); -// g.UjEl(1, 2); -// g.UjEl(1, 4); -// g.UjEl(2, 3); -// g.UjEl(2, 4); -// g.UjEl(4, 3); -// g.UjEl(3, 0); + [TestCase] + public void MelysegiBejarasTeszt() + { + CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6); + g.UjEl(0, 1); + g.UjEl(1, 2); + g.UjEl(1, 4); + g.UjEl(2, 3); + g.UjEl(2, 4); + g.UjEl(4, 3); + g.UjEl(3, 0); -// string ut = ""; -// Halmaz elertCsucsok = GrafBejarasok.MelysegiBejaras(g, 0, (a) => { ut += a; }); + string ut = ""; + Halmaz elertCsucsok = GrafBejarasok.MelysegiBejaras(g, 0, (a) => { ut += a; }); -// Assert.Multiple(() => -// { -// Assert.That(ut == "01243" || ut == "01432" || ut == "01234", Is.True); -// for (int i = 0; i <= 4; i++) -// Assert.That(elertCsucsok.Eleme(i), Is.True); -// Assert.That(elertCsucsok.Eleme(6), Is.False); -// }); -// } -// } -//} + Assert.Multiple(() => + { + Assert.That(ut == "01243" || ut == "01432" || ut == "01234", Is.True); + for (int i = 0; i <= 4; i++) + Assert.That(elertCsucsok.Eleme(i), Is.True); + Assert.That(elertCsucsok.Eleme(6), Is.False); + }); + } + } +} diff --git a/Tesztek/11_KupacTesztek.cs b/Tesztek/11_KupacTesztek.cs index c8db5db..6d6db9c 100644 --- a/Tesztek/11_KupacTesztek.cs +++ b/Tesztek/11_KupacTesztek.cs @@ -1,240 +1,240 @@ -//using NUnit.Framework; -//using System; -//using OE.ALGA.Adatszerkezetek; +using NUnit.Framework; +using System; +using OE.ALGA.Adatszerkezetek; -//namespace OE.ALGA.Tesztek.Adatszerkezetek -//{ -// [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Prioritásos Sor Tesztek")] -// public class KupacPrioritasosSorTesztek -// { -// [TestCase] -// public void TulSokElemTeszt() -// { -// PrioritasosSor s = new KupacPrioritasosSor(2, (x, y) => x > y); -// s.Sorba(1); -// s.Sorba(2); -// Assert.Throws(() => s.Sorba(3)); -// } +namespace OE.ALGA.Tesztek.Adatszerkezetek +{ + [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Prioritásos Sor Tesztek")] + public class KupacPrioritasosSorTesztek + { + [TestCase] + public void TulSokElemTeszt() + { + PrioritasosSor s = new KupacPrioritasosSor(2, (x, y) => x > y); + s.Sorba(1); + s.Sorba(2); + Assert.Throws(() => s.Sorba(3)); + } -// [TestCase] -// public void TulKevesElemTeszt() -// { -// PrioritasosSor s = new KupacPrioritasosSor(5, (x, y) => x > y); -// s.Sorba(1); -// s.Sorba(2); -// s.Sorba(3); -// s.Sorbol(); -// s.Sorbol(); -// s.Sorbol(); -// Assert.Throws(() => s.Sorbol()); -// } + [TestCase] + public void TulKevesElemTeszt() + { + PrioritasosSor s = new KupacPrioritasosSor(5, (x, y) => x > y); + s.Sorba(1); + s.Sorba(2); + s.Sorba(3); + s.Sorbol(); + s.Sorbol(); + s.Sorbol(); + Assert.Throws(() => s.Sorbol()); + } -// [TestCase] -// public void UresTeszt() -// { -// PrioritasosSor s = new KupacPrioritasosSor(5, (x, y) => x > y); -// Assert.That(s.Ures, Is.True); -// s.Sorba(1); -// Assert.That(s.Ures, Is.False); -// s.Sorba(2); -// Assert.That(s.Ures, Is.False); -// s.Sorbol(); -// Assert.That(s.Ures, Is.False); -// s.Elso(); -// Assert.That(s.Ures, Is.False); -// s.Sorbol(); -// Assert.That(s.Ures, Is.True); -// } + [TestCase] + public void UresTeszt() + { + PrioritasosSor s = new KupacPrioritasosSor(5, (x, y) => x > y); + Assert.That(s.Ures, Is.True); + s.Sorba(1); + Assert.That(s.Ures, Is.False); + s.Sorba(2); + Assert.That(s.Ures, Is.False); + s.Sorbol(); + Assert.That(s.Ures, Is.False); + s.Elso(); + Assert.That(s.Ures, Is.False); + s.Sorbol(); + Assert.That(s.Ures, Is.True); + } -// [TestCase] -// public void SorbaSorbolElsoTeszt() -// { -// PrioritasosSor s = new KupacPrioritasosSor(10, (x, y) => x > y); -// s.Sorba(1); -// s.Sorba(4); -// Assert.Multiple(() => -// { -// Assert.That(s.Elso(), Is.EqualTo(4)); -// Assert.That(s.Sorbol(), Is.EqualTo(4)); -// Assert.That(s.Elso(), Is.EqualTo(1)); -// }); -// s.Sorba(4); -// s.Sorba(2); -// s.Sorba(8); -// s.Sorba(3); -// Assert.That(s.Elso(), Is.EqualTo(8)); -// s.Sorba(9); -// s.Sorba(5); -// Assert.Multiple(() => -// { -// Assert.That(s.Elso(), Is.EqualTo(9)); -// Assert.That(s.Elso(), Is.EqualTo(9)); -// Assert.That(s.Sorbol(), Is.EqualTo(9)); -// Assert.That(s.Elso(), Is.EqualTo(8)); -// }); -// s.Sorba(7); -// Assert.Multiple(() => -// { -// Assert.That(s.Sorbol(), Is.EqualTo(8)); -// Assert.That(s.Sorbol(), Is.EqualTo(7)); -// Assert.That(s.Sorbol(), Is.EqualTo(5)); -// }); -// s.Sorba(2); -// Assert.Multiple(() => -// { -// Assert.That(s.Sorbol(), Is.EqualTo(4)); -// Assert.That(s.Sorbol(), Is.EqualTo(3)); -// Assert.That(s.Sorbol(), Is.EqualTo(2)); -// Assert.That(s.Sorbol(), Is.EqualTo(2)); -// Assert.That(s.Elso(), Is.EqualTo(1)); -// Assert.That(s.Sorbol(), Is.EqualTo(1)); -// }); -// } + [TestCase] + public void SorbaSorbolElsoTeszt() + { + PrioritasosSor s = new KupacPrioritasosSor(10, (x, y) => x > y); + s.Sorba(1); + s.Sorba(4); + Assert.Multiple(() => + { + Assert.That(s.Elso(), Is.EqualTo(4)); + Assert.That(s.Sorbol(), Is.EqualTo(4)); + Assert.That(s.Elso(), Is.EqualTo(1)); + }); + s.Sorba(4); + s.Sorba(2); + s.Sorba(8); + s.Sorba(3); + Assert.That(s.Elso(), Is.EqualTo(8)); + s.Sorba(9); + s.Sorba(5); + Assert.Multiple(() => + { + Assert.That(s.Elso(), Is.EqualTo(9)); + Assert.That(s.Elso(), Is.EqualTo(9)); + Assert.That(s.Sorbol(), Is.EqualTo(9)); + Assert.That(s.Elso(), Is.EqualTo(8)); + }); + s.Sorba(7); + Assert.Multiple(() => + { + Assert.That(s.Sorbol(), Is.EqualTo(8)); + Assert.That(s.Sorbol(), Is.EqualTo(7)); + Assert.That(s.Sorbol(), Is.EqualTo(5)); + }); + s.Sorba(2); + Assert.Multiple(() => + { + Assert.That(s.Sorbol(), Is.EqualTo(4)); + Assert.That(s.Sorbol(), Is.EqualTo(3)); + Assert.That(s.Sorbol(), Is.EqualTo(2)); + Assert.That(s.Sorbol(), Is.EqualTo(2)); + Assert.That(s.Elso(), Is.EqualTo(1)); + Assert.That(s.Sorbol(), Is.EqualTo(1)); + }); + } -// class PrioritasosSzoveg : IComparable -// { -// public string Szoveg { get; set; } -// public float Prioritas { get; set; } -// public PrioritasosSzoveg(string szoveg, float prioritas) -// { -// this.Szoveg = szoveg; -// this.Prioritas = prioritas; -// } + class PrioritasosSzoveg : IComparable + { + public string Szoveg { get; set; } + public float Prioritas { get; set; } + public PrioritasosSzoveg(string szoveg, float prioritas) + { + this.Szoveg = szoveg; + this.Prioritas = prioritas; + } -// public int CompareTo(object? obj) -// { -// if (obj is not PrioritasosSzoveg o) -// throw new NullReferenceException(); -// else -// return Prioritas.CompareTo(o.Prioritas); -// } -// } + public int CompareTo(object? obj) + { + if (obj is not PrioritasosSzoveg o) + throw new NullReferenceException(); + else + return Prioritas.CompareTo(o.Prioritas); + } + } -// [TestCase] -// public void PrioritasValtozasTeszt() -// { -// PrioritasosSzoveg a = new PrioritasosSzoveg("a", 10.0f); -// PrioritasosSzoveg b = new PrioritasosSzoveg("b", 5.0f); -// PrioritasosSzoveg c = new PrioritasosSzoveg("c", 2.0f); -// PrioritasosSzoveg d = new PrioritasosSzoveg("d", 12.0f); -// PrioritasosSzoveg e = new PrioritasosSzoveg("e", 15.0f); -// PrioritasosSzoveg f = new PrioritasosSzoveg("f", 9.0f); -// PrioritasosSzoveg g = new PrioritasosSzoveg("g", 2.0f); -// PrioritasosSor s = new KupacPrioritasosSor(10, (x, y) => x.CompareTo(y) > 0); -// s.Sorba(a); -// s.Sorba(b); -// s.Sorba(c); -// s.Sorba(d); -// s.Sorba(e); -// Assert.That(s.Elso().Szoveg, Is.EqualTo("e")); -// d.Prioritas = 22.0f; -// s.Frissit(d); -// Assert.That(s.Elso().Szoveg, Is.EqualTo("d")); -// d.Prioritas = 8.0f; -// s.Frissit(d); -// e.Prioritas = 7.0f; -// s.Frissit(e); -// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("a")); -// s.Sorba(f); -// s.Sorba(g); -// Assert.Multiple(() => -// { -// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("f")); -// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("d")); -// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("e")); -// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("b")); -// }); -// c.Prioritas = 1.5f; -// s.Frissit(c); -// Assert.Multiple(() => -// { -// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("g")); -// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("c")); -// Assert.That(s.Ures, Is.True); -// }); -// } -// } + [TestCase] + public void PrioritasValtozasTeszt() + { + PrioritasosSzoveg a = new PrioritasosSzoveg("a", 10.0f); + PrioritasosSzoveg b = new PrioritasosSzoveg("b", 5.0f); + PrioritasosSzoveg c = new PrioritasosSzoveg("c", 2.0f); + PrioritasosSzoveg d = new PrioritasosSzoveg("d", 12.0f); + PrioritasosSzoveg e = new PrioritasosSzoveg("e", 15.0f); + PrioritasosSzoveg f = new PrioritasosSzoveg("f", 9.0f); + PrioritasosSzoveg g = new PrioritasosSzoveg("g", 2.0f); + PrioritasosSor s = new KupacPrioritasosSor(10, (x, y) => x.CompareTo(y) > 0); + s.Sorba(a); + s.Sorba(b); + s.Sorba(c); + s.Sorba(d); + s.Sorba(e); + Assert.That(s.Elso().Szoveg, Is.EqualTo("e")); + d.Prioritas = 22.0f; + s.Frissit(d); + Assert.That(s.Elso().Szoveg, Is.EqualTo("d")); + d.Prioritas = 8.0f; + s.Frissit(d); + e.Prioritas = 7.0f; + s.Frissit(e); + Assert.That(s.Sorbol().Szoveg, Is.EqualTo("a")); + s.Sorba(f); + s.Sorba(g); + Assert.Multiple(() => + { + Assert.That(s.Sorbol().Szoveg, Is.EqualTo("f")); + Assert.That(s.Sorbol().Szoveg, Is.EqualTo("d")); + Assert.That(s.Sorbol().Szoveg, Is.EqualTo("e")); + Assert.That(s.Sorbol().Szoveg, Is.EqualTo("b")); + }); + c.Prioritas = 1.5f; + s.Frissit(c); + Assert.Multiple(() => + { + Assert.That(s.Sorbol().Szoveg, Is.EqualTo("g")); + Assert.That(s.Sorbol().Szoveg, Is.EqualTo("c")); + Assert.That(s.Ures, Is.True); + }); + } + } -// [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Külső Fügvénnyel Tesztek")] -// public class KupacKulsoFuggvennyelTesztek -// { -// /// -// /// Nincs külön rendező függvény, ezért ABC sorrendben rendez az IComparable alapján. -// /// -// [TestCase] -// public void KupacEpitesIComparableAlapjan() -// { -// KupacPrioritasosSor ps = new KupacPrioritasosSor(10, (x, y) => x.CompareTo(y) > 0); -// ps.Sorba("oszibarack"); -// ps.Sorba("alma"); -// ps.Sorba("korte"); -// ps.Sorba("birsalma"); -// ps.Sorba("barack"); -// ps.Sorba("dio"); -// Assert.Multiple(() => -// { -// Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack")); -// Assert.That(ps.Sorbol(), Is.EqualTo("korte")); -// Assert.That(ps.Sorbol(), Is.EqualTo("dio")); -// Assert.That(ps.Sorbol(), Is.EqualTo("birsalma")); -// Assert.That(ps.Sorbol(), Is.EqualTo("barack")); -// Assert.That(ps.Sorbol(), Is.EqualTo("alma")); -// }); -// } + [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Külső Fügvénnyel Tesztek")] + public class KupacKulsoFuggvennyelTesztek + { + /// + /// Nincs külön rendező függvény, ezért ABC sorrendben rendez az IComparable alapján. + /// + [TestCase] + public void KupacEpitesIComparableAlapjan() + { + KupacPrioritasosSor ps = new KupacPrioritasosSor(10, (x, y) => x.CompareTo(y) > 0); + ps.Sorba("oszibarack"); + ps.Sorba("alma"); + ps.Sorba("korte"); + ps.Sorba("birsalma"); + ps.Sorba("barack"); + ps.Sorba("dio"); + Assert.Multiple(() => + { + Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack")); + Assert.That(ps.Sorbol(), Is.EqualTo("korte")); + Assert.That(ps.Sorbol(), Is.EqualTo("dio")); + Assert.That(ps.Sorbol(), Is.EqualTo("birsalma")); + Assert.That(ps.Sorbol(), Is.EqualTo("barack")); + Assert.That(ps.Sorbol(), Is.EqualTo("alma")); + }); + } -// /// -// /// Van egy saját hossz alapú rendező függvény, ezért elsőként a leghosszabb stringeket adja vissza. -// /// -// [TestCase] -// public void KupacEpitesSajatFuggvennyel() -// { -// KupacPrioritasosSor ps = new KupacPrioritasosSor(10, (ez, ennel) => ez.Length > ennel.Length); -// ps.Sorba("oszibarack"); -// ps.Sorba("alma"); -// ps.Sorba("korte"); -// ps.Sorba("birsalma"); -// ps.Sorba("barack"); -// ps.Sorba("dio"); -// Assert.Multiple(() => -// { -// Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack")); -// Assert.That(ps.Sorbol(), Is.EqualTo("birsalma")); -// Assert.That(ps.Sorbol(), Is.EqualTo("barack")); -// Assert.That(ps.Sorbol(), Is.EqualTo("korte")); -// Assert.That(ps.Sorbol(), Is.EqualTo("alma")); -// Assert.That(ps.Sorbol(), Is.EqualTo("dio")); -// }); -// } -// } + /// + /// Van egy saját hossz alapú rendező függvény, ezért elsőként a leghosszabb stringeket adja vissza. + /// + [TestCase] + public void KupacEpitesSajatFuggvennyel() + { + KupacPrioritasosSor ps = new KupacPrioritasosSor(10, (ez, ennel) => ez.Length > ennel.Length); + ps.Sorba("oszibarack"); + ps.Sorba("alma"); + ps.Sorba("korte"); + ps.Sorba("birsalma"); + ps.Sorba("barack"); + ps.Sorba("dio"); + Assert.Multiple(() => + { + Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack")); + Assert.That(ps.Sorbol(), Is.EqualTo("birsalma")); + Assert.That(ps.Sorbol(), Is.EqualTo("barack")); + Assert.That(ps.Sorbol(), Is.EqualTo("korte")); + Assert.That(ps.Sorbol(), Is.EqualTo("alma")); + Assert.That(ps.Sorbol(), Is.EqualTo("dio")); + }); + } + } -// [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Rendezés Tesztek")] -// public class KupacRendezesTesztek -// { -// [TestCase] -// public void KupacEpites() -// { -// int[] A = [1, 3, 2, 4, 9, 12, 32, 21, 12, 8, 11]; -// _ = new Kupac(A, A.Length, (x, y) => x > y); + [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Rendezés Tesztek")] + public class KupacRendezesTesztek + { + [TestCase] + public void KupacEpites() + { + int[] A = [1, 3, 2, 4, 9, 12, 32, 21, 12, 8, 11]; + _ = new Kupac(A, A.Length, (x, y) => x > y); -// Assert.Multiple(() => -// { -// for (int i = 1; i < A.Length; i++) -// Assert.That(A[Kupac.Szulo(i)] >= A[i], Is.True); -// }); -// } + Assert.Multiple(() => + { + for (int i = 1; i < A.Length; i++) + Assert.That(A[Kupac.Szulo(i)] >= A[i], Is.True); + }); + } -// [TestCase] -// public void KupacRendezes() -// { -// int[] A = [5, 8, 7, 0, 9, 6, 4, 1, 3, 2]; -// KupacRendezes k = new KupacRendezes(A); -// k.Rendezes(); + [TestCase] + public void KupacRendezes() + { + int[] A = [5, 8, 7, 0, 9, 6, 4, 1, 3, 2]; + KupacRendezes k = new KupacRendezes(A); + k.Rendezes(); -// Assert.Multiple(() => -// { -// for (int i = 1; i < A.Length; i++) -// Assert.That(A[i], Is.EqualTo(i)); -// }); -// } -// } -//} + Assert.Multiple(() => + { + for (int i = 1; i < A.Length; i++) + Assert.That(A[i], Is.EqualTo(i)); + }); + } + } +}