using NUnit.Framework; using OE.ALGA.Adatszerkezetek; namespace OE.ALGA.Tesztek.Adatszerkezetek { [TestFixture(Category = "Adatszerkezetek", TestName = "03 - Tömb Lista Tesztek")] public class TombListaTesztek { [TestCase] public void Elemszam() { Lista l = new TombLista(); Assert.That(l.Elemszam, Is.EqualTo(0)); l.Hozzafuz("A"); Assert.That(l.Elemszam, Is.EqualTo(1)); l.Hozzafuz("B"); Assert.That(l.Elemszam, Is.EqualTo(2)); l.Torol("A"); Assert.That(l.Elemszam, Is.EqualTo(1)); } [TestCase] public void Bejaras() { Lista l = new TombLista(); l.Hozzafuz(1); l.Hozzafuz(3); l.Hozzafuz(2); string s = ""; l.Bejar(x => { Guardian.Recursion.CheckStackTrace(); s += x.ToString(); }); Assert.That(s, Is.EqualTo("132")); } [TestCase] public void Beszuras() { Lista l = new TombLista(); l.Beszur(0, 1); l.Beszur(0, 2); l.Beszur(1, 3); l.Beszur(3, 4); l.Beszur(2, 5); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo(2)); Assert.That(l.Kiolvas(1), Is.EqualTo(3)); Assert.That(l.Kiolvas(2), Is.EqualTo(5)); Assert.That(l.Kiolvas(3), Is.EqualTo(1)); Assert.That(l.Kiolvas(4), Is.EqualTo(4)); }); } [TestCase] public void BeszurasUres() { Lista l = new TombLista(); l.Beszur(0, "1"); l.Beszur(0, "2"); l.Beszur(1, ""); l.Beszur(3, ""); l.Beszur(2, "5"); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo("2")); Assert.That(l.Kiolvas(1), Is.EqualTo("")); Assert.That(l.Kiolvas(2), Is.EqualTo("5")); Assert.That(l.Kiolvas(3), Is.EqualTo("1")); Assert.That(l.Kiolvas(4), Is.EqualTo("")); }); } [TestCase] public void HozzaFuzes() { Lista l = new TombLista(); l.Hozzafuz(1); l.Hozzafuz(3); l.Hozzafuz(2); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo(1)); Assert.That(l.Kiolvas(1), Is.EqualTo(3)); Assert.That(l.Kiolvas(2), Is.EqualTo(2)); }); } [TestCase] public void HozzaFuzesUres() { Lista l = new TombLista(); l.Hozzafuz("1"); l.Hozzafuz(""); l.Hozzafuz(""); l.Hozzafuz("1"); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo("1")); Assert.That(l.Kiolvas(1), Is.EqualTo("")); Assert.That(l.Kiolvas(2), Is.EqualTo("")); Assert.That(l.Kiolvas(3), Is.EqualTo("1")); }); } [TestCase] public void Novekedes() { Lista l = new TombLista(); for (int i = 0; i < 1000; i++) l.Hozzafuz(i * i); Assert.That(l.Elemszam, Is.EqualTo(1000)); Assert.Multiple(() => { for (int i = 0; i < 1000; i++) Assert.That(l.Kiolvas(i), Is.EqualTo(i * i)); }); Assert.That(l.Elemszam, Is.EqualTo(1000)); } [TestCase] public void Torles() { Lista l = new TombLista(); l.Hozzafuz(1); l.Hozzafuz(3); l.Hozzafuz(2); l.Hozzafuz(3); l.Hozzafuz(4); Assert.That(l.Elemszam, Is.EqualTo(5)); l.Torol(3); Assert.That(l.Elemszam, Is.EqualTo(3)); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo(1)); Assert.That(l.Kiolvas(1), Is.EqualTo(2)); Assert.That(l.Kiolvas(2), Is.EqualTo(4)); }); } [TestCase] public void TorlesNincsElem() { Lista l = new TombLista(); Assert.That(l.Elemszam, Is.EqualTo(0)); l.Torol(0); Assert.That(l.Elemszam, Is.EqualTo(0)); } [TestCase] public void TorlesUres() { Lista l = new TombLista(); l.Hozzafuz("1"); l.Hozzafuz(""); l.Hozzafuz(""); l.Hozzafuz(""); l.Hozzafuz("1"); Assert.That(l.Elemszam, Is.EqualTo(5)); l.Torol(""); Assert.That(l.Elemszam, Is.EqualTo(2)); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo("1")); Assert.That(l.Kiolvas(1), Is.EqualTo("1")); }); } [TestCase] public void NemletezoTorles() { Lista l = new TombLista(); l.Hozzafuz(1); l.Hozzafuz(2); l.Hozzafuz(3); Assert.That(l.Elemszam, Is.EqualTo(3)); l.Torol(0); Assert.That(l.Elemszam, Is.EqualTo(3)); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo(1)); Assert.That(l.Kiolvas(1), Is.EqualTo(2)); Assert.That(l.Kiolvas(2), Is.EqualTo(3)); }); } [TestCase] public void Modositas() { Lista l = new TombLista(); l.Hozzafuz(1); l.Hozzafuz(3); l.Hozzafuz(2); l.Modosit(1, 5); l.Modosit(0, 4); Assert.Multiple(() => { Assert.That(l.Kiolvas(0), Is.EqualTo(4)); Assert.That(l.Kiolvas(1), Is.EqualTo(5)); Assert.That(l.Kiolvas(2), Is.EqualTo(2)); }); } [TestCase] public void ForeachBejaras() { TombLista l = new TombLista(); l.Hozzafuz("a"); l.Hozzafuz("c"); l.Hozzafuz("d"); l.Hozzafuz("b"); string osszefuzo = ""; foreach (string x in l) { osszefuzo += x; } Assert.That(osszefuzo, Is.EqualTo("acdb")); } } [TestFixture(Category = "Adatszerkezetek", TestName = "03 - Tömb Sor Tesztek")] public class TombSorTesztek { [TestCase] public void Ures() { Sor s = new TombSor(0); Assert.That(s.Ures, Is.True); Assert.Throws(() => s.Sorba(1)); } [TestCase] public void AlapMukodes() { Sor s = new TombSor(3); Assert.That(s.Ures, Is.True); s.Sorba(1); Assert.That(s.Ures, Is.False); s.Sorba(3); Assert.That(s.Ures, Is.False); s.Sorba(2); Assert.That(s.Ures, Is.False); Assert.Multiple(() => { Assert.That(s.Sorbol(), Is.EqualTo(1)); Assert.That(s.Ures, Is.False); Assert.That(s.Sorbol(), Is.EqualTo(3)); Assert.That(s.Ures, Is.False); Assert.That(s.Sorbol(), Is.EqualTo(2)); Assert.That(s.Ures, Is.True); }); } [TestCase] public void UresElem() { Sor s = new TombSor(3); s.Sorba(""); s.Sorba("1"); s.Sorba(""); Assert.Multiple(() => { Assert.That(s.Sorbol(), Is.EqualTo("")); Assert.That(s.Sorbol(), Is.EqualTo("1")); Assert.That(s.Sorbol(), Is.EqualTo("")); }); } [TestCase] public void Korbeeres() { Sor s = new TombSor(3); s.Sorba(1); s.Sorba(3); s.Sorba(2); Assert.Multiple(() => { Assert.That(s.Sorbol(), Is.EqualTo(1)); Assert.That(s.Sorbol(), Is.EqualTo(3)); }); s.Sorba(4); s.Sorba(5); Assert.Multiple(() => { Assert.That(s.Sorbol(), Is.EqualTo(2)); Assert.That(s.Sorbol(), Is.EqualTo(4)); Assert.That(s.Sorbol(), Is.EqualTo(5)); }); } [TestCase] public void TulSokElem() { Sor s = new TombSor(3); s.Sorba(1); s.Sorba(3); s.Sorba(2); Assert.Throws(() => s.Sorba(4)); } [TestCase] public void TulKevesElem() { Sor s = new TombSor(3); s.Sorba(1); s.Sorba(3); s.Sorba(2); s.Sorbol(); s.Sorbol(); s.Sorbol(); Assert.Throws(() => s.Sorbol()); } [TestCase] public void Elso() { Sor s = new TombSor(3); s.Sorba(1); s.Sorba(3); s.Sorba(2); Assert.Multiple(() => { Assert.That(s.Elso(), Is.EqualTo(1)); Assert.That(s.Elso(), Is.EqualTo(1)); }); s.Sorbol(); Assert.That(s.Elso(), Is.EqualTo(3)); } } [TestFixture(Category = "Adatszerkezetek", TestName = "03 - Tömb Verem Tesztek")] public class TombVeremTesztek { [TestCase] public void Ures() { Verem v = new TombVerem(0); Assert.That(v.Ures, Is.True); Assert.Throws(() => v.Verembe(1)); } [TestCase] public void AlapMukodes() { Verem v = new TombVerem(3); Assert.That(v.Ures, Is.True); v.Verembe(1); Assert.That(v.Ures, Is.False); v.Verembe(3); Assert.That(v.Ures, Is.False); v.Verembe(2); Assert.That(v.Ures, Is.False); Assert.That(v.Verembol(), Is.EqualTo(2)); Assert.That(v.Ures, Is.False); v.Verembe(4); Assert.That(v.Ures, Is.False); Assert.Multiple(() => { Assert.That(v.Verembol(), Is.EqualTo(4)); Assert.That(v.Ures, Is.False); Assert.That(v.Verembol(), Is.EqualTo(3)); Assert.That(v.Ures, Is.False); Assert.That(v.Verembol(), Is.EqualTo(1)); Assert.That(v.Ures, Is.True); }); } [TestCase] public void UresElem() { Verem v = new TombVerem(3); v.Verembe(""); v.Verembe("1"); v.Verembe(""); Assert.Multiple(() => { Assert.That(v.Verembol(), Is.EqualTo("")); Assert.That(v.Verembol(), Is.EqualTo("1")); Assert.That(v.Verembol(), Is.EqualTo("")); }); } [TestCase] public void TulSokElem() { Verem v = new TombVerem(3); v.Verembe(1); v.Verembe(3); v.Verembe(2); Assert.Throws(() => v.Verembe(4)); } [TestCase] public void TulKevesElem() { Verem v = new TombVerem(3); v.Verembe(1); v.Verembe(3); v.Verembe(2); v.Verembol(); v.Verembol(); v.Verembol(); Assert.Throws(() => v.Verembol()); } [TestCase] public void Felso() { Verem v = new TombVerem(3); v.Verembe(1); v.Verembe(3); v.Verembe(2); Assert.Multiple(() => { Assert.That(v.Felso(), Is.EqualTo(2)); Assert.That(v.Felso(), Is.EqualTo(2)); }); v.Verembol(); Assert.That(v.Felso(), Is.EqualTo(3)); } } }