//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)); // } // [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 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; // } // 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); // }); // } // } // [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")); // }); // } // } // [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); // }); // } // [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)); // }); // } // } //}