whwwwwwww

This commit is contained in:
Lendaia Mirai
2025-12-10 22:37:56 +01:00
parent 45adc0f064
commit d82decbfa2
8 changed files with 734 additions and 432 deletions

View File

@@ -163,8 +163,8 @@ namespace OE.ALGA.Adatszerkezetek
} }
public class LancoltLista<T> : Lista<T>, IEnumerable<T> public class LancoltLista<T> : Lista<T>, IEnumerable<T>
{ {
int n; protected int n;
LancElem<T>? fej; protected LancElem<T>? fej;
public int Elemszam public int Elemszam
{ {
@@ -283,7 +283,7 @@ namespace OE.ALGA.Adatszerkezetek
} }
} }
} }
private LancElem<T> Indexedik(int index) protected LancElem<T> Indexedik(int index)
{ {
LancElem<T>? tmp = fej; LancElem<T>? tmp = fej;
for (int i = 0; i < index; i++) for (int i = 0; i < index; i++)
@@ -350,4 +350,38 @@ namespace OE.ALGA.Adatszerkezetek
aktualisElem = fej; aktualisElem = fej;
} }
} }
public class KorlatoltLancoltLista<T> :LancoltLista<T> where T: IComparable
{
public LancElem<T> min
{
get
{
LancElem<T> 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<T> max
{
get
{
LancElem<T> cur = this.fej;
for (int i = 0; i < n; i++)
{
if(Indexedik(i).tart.CompareTo(cur.tart) < 0)
{
cur = Indexedik(i);
}
}
return cur;
}
}
}
} }

View File

@@ -61,13 +61,14 @@ public class FaHalmaz<T> : Halmaz<T> where T : IComparable
} }
else else
{ {
if (p.tart.CompareTo(ertek) > 0) int asd = ertek.CompareTo(p.tart);
if (asd < 0)
{ {
p.bal = ReszfabaBeszur(p.bal, ertek); p.bal = ReszfabaBeszur(p.bal, ertek);
} }
else else
{ {
if (p.tart.CompareTo(ertek) < 0) if (asd > 0)
{ {
p.jobb = ReszfabaBeszur(p.jobb, ertek); p.jobb = ReszfabaBeszur(p.jobb, ertek);
} }

View File

@@ -80,7 +80,7 @@ namespace OE.ALGA.Adatszerkezetek
get get
{ {
FaHalmaz<int> fahalmaz = new FaHalmaz<int>(); FaHalmaz<int> fahalmaz = new FaHalmaz<int>();
for (int i = 0; i < n-1; i++) for (int i = 0; i < n; i++)
{ {
fahalmaz.Beszur(i); fahalmaz.Beszur(i);
} }
@@ -139,7 +139,7 @@ namespace OE.ALGA.Adatszerkezetek
return M[honnan, hova]; return M[honnan, hova];
} }
} }
public static class GrafBejaras public static class GrafBejarasok
{ {
public static Halmaz<V> SzelessegiBejaras<V, E>(Graf<V, E> g, V start, Action<V> muvelet) where V : IComparable public static Halmaz<V> SzelessegiBejaras<V, E>(Graf<V, E> g, V start, Action<V> muvelet) where V : IComparable
{ {
@@ -167,21 +167,24 @@ namespace OE.ALGA.Adatszerkezetek
public static Halmaz<V> MelysegiBejaras<V,E>(Graf<V, E> g, V start, Action<V> muvelet) where V : IComparable public static Halmaz<V> MelysegiBejaras<V,E>(Graf<V, E> g, V start, Action<V> muvelet) where V : IComparable
{ {
Halmaz<V> fahalmaz = new FaHalmaz<V>(); Halmaz<V> fahalmaz = new FaHalmaz<V>();
MelysegiBejarasRekurzio(g, start, fahalmaz, muvelet); fahalmaz.Beszur(start);
MelysegiBejarasRekurzio(g, start, muvelet, fahalmaz);
return fahalmaz; return fahalmaz;
} }
private static void MelysegiBejarasRekurzio<V,E>(Graf<V,E> g, V k, Halmaz<V> F, Action<V> muvelet) where V: IComparable private static void MelysegiBejarasRekurzio<V,E>(Graf<V,E> g, V k, Action<V> muvelet, Halmaz<V> F) where V: IComparable
{ {
F.Beszur(k); muvelet(k);
FaHalmaz<V> halmaz = (FaHalmaz<V>)g.Szomszedai(k); FaHalmaz<V> halmaz = (FaHalmaz<V>)g.Szomszedai(k);
halmaz.Bejar(x => halmaz.Bejar(x =>
{ {
if (!F.Eleme(x)) if (!F.Eleme(x))
{ {
MelysegiBejarasRekurzio(g, x, F, muvelet); F.Beszur(x);
MelysegiBejarasRekurzio(g, x, muvelet, F);
} }
}); });
} }
} }
} }

View File

@@ -2,5 +2,163 @@
namespace OE.ALGA.Adatszerkezetek namespace OE.ALGA.Adatszerkezetek
{ {
// 11. heti labor feladat - Tesztek: 11_KupacTesztek.cs public class Kupac<T>
{
protected T[] E;
protected int n;
protected Func<T, T, bool> nagyobbPrioritas;
public Kupac(T[] E, int n, Func<T, T, bool> 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<T> : Kupac<T> 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<T> : Kupac<T>, PrioritasosSor<T>
{
public KupacPrioritasosSor(int meret, Func<T, T, bool> 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);
}
}
} }

View File

@@ -2,5 +2,110 @@
namespace OE.ALGA.Adatszerkezetek namespace OE.ALGA.Adatszerkezetek
{ {
// 12. heti labor feladat - Tesztek: 12_SulyozottGrafTesztek.cs public class SulyozottEgeszGrafEl : EgeszGrafEl, SulyozottGrafEl<int>
{
public float Suly {get;}
public SulyozottEgeszGrafEl(int honnan, int hova, float suly) : base(honnan, hova)
{
Suly = suly;
}
}
public class CsucsmatrixSulyozottEgeszGraf : SulyozottGraf<int, SulyozottEgeszGrafEl>
{
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<int> Csucsok
{
get
{
FaHalmaz<int> fahalmaz = new FaHalmaz<int>();
for (int i = 0; i < n; i++)
{
fahalmaz.Beszur(i);
}
return fahalmaz;
}
}
public Halmaz<SulyozottEgeszGrafEl> Elek
{
get
{
FaHalmaz<SulyozottEgeszGrafEl> fahalmaz = new FaHalmaz<SulyozottEgeszGrafEl>();
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<int> Szomszedai(int csucs)
{
FaHalmaz<int> fahalmaz = new FaHalmaz<int>();
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);
}
}
} }

View File

@@ -1,79 +1,80 @@
// using Microsoft.VisualStudio.TestTools.UnitTesting; using System;
// using OE.ALGA.Optimalizalas; using Microsoft.VisualStudio.TestTools.UnitTesting;
using OE.ALGA.Optimalizalas;
// namespace OE.ALGA.Tesztek namespace OE.ALGA.Tesztek
// { {
// [TestClass()] [TestClass()]
// public class VisszalepesesKeresesTesztek public class VisszalepesesKeresesTesztek
// { {
// [TestMethod()] [TestMethod()]
// public void JegyzetbenLevoPeldaErtekTeszt() //F2. public void JegyzetbenLevoPeldaErtekTeszt() //F2.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p);
// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema);
// Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek()); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek());
// } }
// [TestMethod()] [TestMethod()]
// public void JegyzetbenLevoPeldaMegoldasTeszt() //F2. public void JegyzetbenLevoPeldaMegoldasTeszt() //F2.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p);
// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema);
// CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas()); CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas());
// } }
// [TestMethod()] [TestMethod()]
// public void NagyPeldaMegoldasTeszt() //F2. public void NagyPeldaMegoldasTeszt() //F2.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p);
// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema);
// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek());
// } }
// [TestMethod()] [TestMethod()]
// public void LepesszamVizsgalat() //F2. public void LepesszamVizsgalat() //F2.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p);
// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema);
// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek());
// Console.WriteLine("Lépésszám: " + opt.LepesSzam); Console.WriteLine("Lépésszám: " + opt.LepesSzam);
// } }
// } }
// [TestClass()] [TestClass()]
// public class SzetvalasztasEsKorlatozasTesztek public class SzetvalasztasEsKorlatozasTesztek
// { {
// [TestMethod()] [TestMethod()]
// public void JegyzetbenLevoPeldaErtekTeszt() //F4. public void JegyzetbenLevoPeldaErtekTeszt() //F4.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p);
// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema);
// Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek()); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_ertek, opt.OptimalisErtek());
// } }
// [TestMethod()] [TestMethod()]
// public void JegyzetbenLevoPeldaMegoldasTeszt() //F4. public void JegyzetbenLevoPeldaMegoldasTeszt() //F4.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p);
// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema);
// CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas()); CollectionAssert.AreEqual(PakolasTesztEsetek.jegyzet_optimalis_pakolas, opt.OptimalisMegoldas());
// } }
// [TestMethod()] [TestMethod()]
// public void NagyPeldaMegoldasTeszt() //F4. public void NagyPeldaMegoldasTeszt() //F4.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p);
// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema);
// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek());
// } }
// [TestMethod()] [TestMethod()]
// public void LepesszamVizsgalat() //F4. public void LepesszamVizsgalat() //F4.
// { {
// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p);
// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema);
// Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek()); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(PakolasTesztEsetek.nagy_optimalis_ertek, opt.OptimalisErtek());
// Console.WriteLine("Lépésszám: " + opt.LepesSzam); Console.WriteLine("Lépésszám: " + opt.LepesSzam);
// } }
// } }
// } }

View File

@@ -1,138 +1,138 @@
//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 = "10 - Csúcsmátrix Gráf Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "10 - Csúcsmátrix Gráf Tesztek")]
// public class CsucsMatrixGrafTesztek public class CsucsMatrixGrafTesztek
// { {
// [TestCase] [TestCase]
// public void MindenCsucsTeszt() public void MindenCsucsTeszt()
// { {
// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(2); CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(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()
// { {
// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3); CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3);
// csg.UjEl(0, 1); csg.UjEl(0, 1);
// csg.UjEl(0, 2); csg.UjEl(0, 2);
// csg.UjEl(1, 2); csg.UjEl(1, 2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 0)), Is.False); 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, 1)), Is.True);
// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(0, 2)), 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, 0)), Is.False);
// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(1, 1)), 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, 2)), Is.True);
// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 0)), 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, 1)), Is.False);
// Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 2)), Is.False); Assert.That(csg.Elek.Eleme(new EgeszGrafEl(2, 2)), Is.False);
// }); });
// } }
// [TestCase] [TestCase]
// public void VezetElTeszt() public void VezetElTeszt()
// { {
// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(2); CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(2);
// Assert.That(csg.VezetEl(0, 1), Is.False); Assert.That(csg.VezetEl(0, 1), Is.False);
// csg.UjEl(0, 1); csg.UjEl(0, 1);
// 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()
// { {
// CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3); CsucsmatrixSulyozatlanEgeszGraf csg = new CsucsmatrixSulyozatlanEgeszGraf(3);
// csg.UjEl(0, 1); csg.UjEl(0, 1);
// csg.UjEl(0, 2); csg.UjEl(0, 2);
// csg.UjEl(1, 2); csg.UjEl(1, 2);
// 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);
// }); });
// } }
// } }
// [TestFixture(Category = "Adatszerkezetek", TestName = "10 - Gráf Bejárás Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "10 - Gráf Bejárás Tesztek")]
// public class GrafBejarasTesztek public class GrafBejarasTesztek
// { {
// [TestCase] [TestCase]
// public void SzelessegiBejarasTeszt() public void SzelessegiBejarasTeszt()
// { {
// CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6); CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6);
// g.UjEl(0, 1); g.UjEl(0, 1);
// g.UjEl(1, 2); g.UjEl(1, 2);
// g.UjEl(1, 4); g.UjEl(1, 4);
// g.UjEl(2, 3); g.UjEl(2, 3);
// g.UjEl(2, 4); g.UjEl(2, 4);
// g.UjEl(4, 3); g.UjEl(4, 3);
// g.UjEl(3, 0); g.UjEl(3, 0);
// string ut = ""; string ut = "";
// Halmaz<int> elertCsucsok = GrafBejarasok.SzelessegiBejaras(g, 0, (a) => { ut += a; }); Halmaz<int> elertCsucsok = GrafBejarasok.SzelessegiBejaras(g, 0, (a) => { ut += a; });
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(ut == "01243" || ut == "01423", Is.True); Assert.That(ut == "01243" || ut == "01423", Is.True);
// for (int i = 0; i <= 4; i++) for (int i = 0; i <= 4; i++)
// Assert.That(elertCsucsok.Eleme(i), Is.True); Assert.That(elertCsucsok.Eleme(i), Is.True);
// Assert.That(elertCsucsok.Eleme(6), Is.False); Assert.That(elertCsucsok.Eleme(6), Is.False);
// }); });
// } }
// [TestCase] [TestCase]
// public void MelysegiBejarasTeszt() public void MelysegiBejarasTeszt()
// { {
// CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6); CsucsmatrixSulyozatlanEgeszGraf g = new CsucsmatrixSulyozatlanEgeszGraf(6);
// g.UjEl(0, 1); g.UjEl(0, 1);
// g.UjEl(1, 2); g.UjEl(1, 2);
// g.UjEl(1, 4); g.UjEl(1, 4);
// g.UjEl(2, 3); g.UjEl(2, 3);
// g.UjEl(2, 4); g.UjEl(2, 4);
// g.UjEl(4, 3); g.UjEl(4, 3);
// g.UjEl(3, 0); g.UjEl(3, 0);
// string ut = ""; string ut = "";
// Halmaz<int> elertCsucsok = GrafBejarasok.MelysegiBejaras(g, 0, (a) => { ut += a; }); Halmaz<int> elertCsucsok = GrafBejarasok.MelysegiBejaras(g, 0, (a) => { ut += a; });
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(ut == "01243" || ut == "01432" || ut == "01234", Is.True); Assert.That(ut == "01243" || ut == "01432" || ut == "01234", Is.True);
// for (int i = 0; i <= 4; i++) for (int i = 0; i <= 4; i++)
// Assert.That(elertCsucsok.Eleme(i), Is.True); Assert.That(elertCsucsok.Eleme(i), Is.True);
// Assert.That(elertCsucsok.Eleme(6), Is.False); Assert.That(elertCsucsok.Eleme(6), Is.False);
// }); });
// } }
// } }
//} }

View File

@@ -1,240 +1,240 @@
//using NUnit.Framework; using NUnit.Framework;
//using System; using System;
//using OE.ALGA.Adatszerkezetek; using OE.ALGA.Adatszerkezetek;
//namespace OE.ALGA.Tesztek.Adatszerkezetek namespace OE.ALGA.Tesztek.Adatszerkezetek
//{ {
// [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Prioritásos Sor Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Prioritásos Sor Tesztek")]
// public class KupacPrioritasosSorTesztek public class KupacPrioritasosSorTesztek
// { {
// [TestCase] [TestCase]
// public void TulSokElemTeszt() public void TulSokElemTeszt()
// { {
// PrioritasosSor<int> s = new KupacPrioritasosSor<int>(2, (x, y) => x > y); PrioritasosSor<int> s = new KupacPrioritasosSor<int>(2, (x, y) => x > y);
// s.Sorba(1); s.Sorba(1);
// s.Sorba(2); s.Sorba(2);
// Assert.Throws<NincsHelyKivetel>(() => s.Sorba(3)); Assert.Throws<NincsHelyKivetel>(() => s.Sorba(3));
// } }
// [TestCase] [TestCase]
// public void TulKevesElemTeszt() public void TulKevesElemTeszt()
// { {
// PrioritasosSor<int> s = new KupacPrioritasosSor<int>(5, (x, y) => x > y); PrioritasosSor<int> s = new KupacPrioritasosSor<int>(5, (x, y) => x > y);
// s.Sorba(1); s.Sorba(1);
// s.Sorba(2); s.Sorba(2);
// s.Sorba(3); s.Sorba(3);
// s.Sorbol(); s.Sorbol();
// s.Sorbol(); s.Sorbol();
// s.Sorbol(); s.Sorbol();
// Assert.Throws<NincsElemKivetel>(() => s.Sorbol()); Assert.Throws<NincsElemKivetel>(() => s.Sorbol());
// } }
// [TestCase] [TestCase]
// public void UresTeszt() public void UresTeszt()
// { {
// PrioritasosSor<int> s = new KupacPrioritasosSor<int>(5, (x, y) => x > y); PrioritasosSor<int> s = new KupacPrioritasosSor<int>(5, (x, y) => x > y);
// Assert.That(s.Ures, Is.True); Assert.That(s.Ures, Is.True);
// s.Sorba(1); s.Sorba(1);
// Assert.That(s.Ures, Is.False); Assert.That(s.Ures, Is.False);
// s.Sorba(2); s.Sorba(2);
// Assert.That(s.Ures, Is.False); Assert.That(s.Ures, Is.False);
// s.Sorbol(); s.Sorbol();
// Assert.That(s.Ures, Is.False); Assert.That(s.Ures, Is.False);
// s.Elso(); s.Elso();
// Assert.That(s.Ures, Is.False); Assert.That(s.Ures, Is.False);
// s.Sorbol(); s.Sorbol();
// Assert.That(s.Ures, Is.True); Assert.That(s.Ures, Is.True);
// } }
// [TestCase] [TestCase]
// public void SorbaSorbolElsoTeszt() public void SorbaSorbolElsoTeszt()
// { {
// PrioritasosSor<int> s = new KupacPrioritasosSor<int>(10, (x, y) => x > y); PrioritasosSor<int> s = new KupacPrioritasosSor<int>(10, (x, y) => x > y);
// s.Sorba(1); s.Sorba(1);
// s.Sorba(4); s.Sorba(4);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(s.Elso(), Is.EqualTo(4)); Assert.That(s.Elso(), Is.EqualTo(4));
// Assert.That(s.Sorbol(), Is.EqualTo(4)); Assert.That(s.Sorbol(), Is.EqualTo(4));
// Assert.That(s.Elso(), Is.EqualTo(1)); Assert.That(s.Elso(), Is.EqualTo(1));
// }); });
// s.Sorba(4); s.Sorba(4);
// s.Sorba(2); s.Sorba(2);
// s.Sorba(8); s.Sorba(8);
// s.Sorba(3); s.Sorba(3);
// Assert.That(s.Elso(), Is.EqualTo(8)); Assert.That(s.Elso(), Is.EqualTo(8));
// s.Sorba(9); s.Sorba(9);
// s.Sorba(5); s.Sorba(5);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(s.Elso(), Is.EqualTo(9)); Assert.That(s.Elso(), Is.EqualTo(9));
// Assert.That(s.Elso(), Is.EqualTo(9)); Assert.That(s.Elso(), Is.EqualTo(9));
// Assert.That(s.Sorbol(), Is.EqualTo(9)); Assert.That(s.Sorbol(), Is.EqualTo(9));
// Assert.That(s.Elso(), Is.EqualTo(8)); Assert.That(s.Elso(), Is.EqualTo(8));
// }); });
// s.Sorba(7); s.Sorba(7);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(s.Sorbol(), Is.EqualTo(8)); Assert.That(s.Sorbol(), Is.EqualTo(8));
// Assert.That(s.Sorbol(), Is.EqualTo(7)); Assert.That(s.Sorbol(), Is.EqualTo(7));
// Assert.That(s.Sorbol(), Is.EqualTo(5)); Assert.That(s.Sorbol(), Is.EqualTo(5));
// }); });
// s.Sorba(2); s.Sorba(2);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(s.Sorbol(), Is.EqualTo(4)); Assert.That(s.Sorbol(), Is.EqualTo(4));
// Assert.That(s.Sorbol(), Is.EqualTo(3)); Assert.That(s.Sorbol(), Is.EqualTo(3));
// Assert.That(s.Sorbol(), Is.EqualTo(2)); Assert.That(s.Sorbol(), Is.EqualTo(2));
// Assert.That(s.Sorbol(), Is.EqualTo(2)); Assert.That(s.Sorbol(), Is.EqualTo(2));
// Assert.That(s.Elso(), Is.EqualTo(1)); Assert.That(s.Elso(), Is.EqualTo(1));
// Assert.That(s.Sorbol(), Is.EqualTo(1)); Assert.That(s.Sorbol(), Is.EqualTo(1));
// }); });
// } }
// class PrioritasosSzoveg : IComparable class PrioritasosSzoveg : IComparable
// { {
// public string Szoveg { get; set; } public string Szoveg { get; set; }
// public float Prioritas { get; set; } public float Prioritas { get; set; }
// public PrioritasosSzoveg(string szoveg, float prioritas) public PrioritasosSzoveg(string szoveg, float prioritas)
// { {
// this.Szoveg = szoveg; this.Szoveg = szoveg;
// this.Prioritas = prioritas; this.Prioritas = prioritas;
// } }
// public int CompareTo(object? obj) public int CompareTo(object? obj)
// { {
// if (obj is not PrioritasosSzoveg o) if (obj is not PrioritasosSzoveg o)
// throw new NullReferenceException(); throw new NullReferenceException();
// else else
// return Prioritas.CompareTo(o.Prioritas); return Prioritas.CompareTo(o.Prioritas);
// } }
// } }
// [TestCase] [TestCase]
// public void PrioritasValtozasTeszt() public void PrioritasValtozasTeszt()
// { {
// PrioritasosSzoveg a = new PrioritasosSzoveg("a", 10.0f); PrioritasosSzoveg a = new PrioritasosSzoveg("a", 10.0f);
// PrioritasosSzoveg b = new PrioritasosSzoveg("b", 5.0f); PrioritasosSzoveg b = new PrioritasosSzoveg("b", 5.0f);
// PrioritasosSzoveg c = new PrioritasosSzoveg("c", 2.0f); PrioritasosSzoveg c = new PrioritasosSzoveg("c", 2.0f);
// PrioritasosSzoveg d = new PrioritasosSzoveg("d", 12.0f); PrioritasosSzoveg d = new PrioritasosSzoveg("d", 12.0f);
// PrioritasosSzoveg e = new PrioritasosSzoveg("e", 15.0f); PrioritasosSzoveg e = new PrioritasosSzoveg("e", 15.0f);
// PrioritasosSzoveg f = new PrioritasosSzoveg("f", 9.0f); PrioritasosSzoveg f = new PrioritasosSzoveg("f", 9.0f);
// PrioritasosSzoveg g = new PrioritasosSzoveg("g", 2.0f); PrioritasosSzoveg g = new PrioritasosSzoveg("g", 2.0f);
// PrioritasosSor<PrioritasosSzoveg> s = new KupacPrioritasosSor<PrioritasosSzoveg>(10, (x, y) => x.CompareTo(y) > 0); PrioritasosSor<PrioritasosSzoveg> s = new KupacPrioritasosSor<PrioritasosSzoveg>(10, (x, y) => x.CompareTo(y) > 0);
// s.Sorba(a); s.Sorba(a);
// s.Sorba(b); s.Sorba(b);
// s.Sorba(c); s.Sorba(c);
// s.Sorba(d); s.Sorba(d);
// s.Sorba(e); s.Sorba(e);
// Assert.That(s.Elso().Szoveg, Is.EqualTo("e")); Assert.That(s.Elso().Szoveg, Is.EqualTo("e"));
// d.Prioritas = 22.0f; d.Prioritas = 22.0f;
// s.Frissit(d); s.Frissit(d);
// Assert.That(s.Elso().Szoveg, Is.EqualTo("d")); Assert.That(s.Elso().Szoveg, Is.EqualTo("d"));
// d.Prioritas = 8.0f; d.Prioritas = 8.0f;
// s.Frissit(d); s.Frissit(d);
// e.Prioritas = 7.0f; e.Prioritas = 7.0f;
// s.Frissit(e); s.Frissit(e);
// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("a")); Assert.That(s.Sorbol().Szoveg, Is.EqualTo("a"));
// s.Sorba(f); s.Sorba(f);
// s.Sorba(g); s.Sorba(g);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("f")); Assert.That(s.Sorbol().Szoveg, Is.EqualTo("f"));
// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("d")); Assert.That(s.Sorbol().Szoveg, Is.EqualTo("d"));
// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("e")); Assert.That(s.Sorbol().Szoveg, Is.EqualTo("e"));
// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("b")); Assert.That(s.Sorbol().Szoveg, Is.EqualTo("b"));
// }); });
// c.Prioritas = 1.5f; c.Prioritas = 1.5f;
// s.Frissit(c); s.Frissit(c);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("g")); Assert.That(s.Sorbol().Szoveg, Is.EqualTo("g"));
// Assert.That(s.Sorbol().Szoveg, Is.EqualTo("c")); Assert.That(s.Sorbol().Szoveg, Is.EqualTo("c"));
// Assert.That(s.Ures, Is.True); Assert.That(s.Ures, Is.True);
// }); });
// } }
// } }
// [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Külső Fügvénnyel Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Külső Fügvénnyel Tesztek")]
// public class KupacKulsoFuggvennyelTesztek public class KupacKulsoFuggvennyelTesztek
// { {
// /// <summary> /// <summary>
// /// Nincs külön rendező függvény, ezért ABC sorrendben rendez az IComparable alapján. /// Nincs külön rendező függvény, ezért ABC sorrendben rendez az IComparable alapján.
// /// </summary> /// </summary>
// [TestCase] [TestCase]
// public void KupacEpitesIComparableAlapjan() public void KupacEpitesIComparableAlapjan()
// { {
// KupacPrioritasosSor<string> ps = new KupacPrioritasosSor<string>(10, (x, y) => x.CompareTo(y) > 0); KupacPrioritasosSor<string> ps = new KupacPrioritasosSor<string>(10, (x, y) => x.CompareTo(y) > 0);
// ps.Sorba("oszibarack"); ps.Sorba("oszibarack");
// ps.Sorba("alma"); ps.Sorba("alma");
// ps.Sorba("korte"); ps.Sorba("korte");
// ps.Sorba("birsalma"); ps.Sorba("birsalma");
// ps.Sorba("barack"); ps.Sorba("barack");
// ps.Sorba("dio"); ps.Sorba("dio");
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack")); Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack"));
// Assert.That(ps.Sorbol(), Is.EqualTo("korte")); Assert.That(ps.Sorbol(), Is.EqualTo("korte"));
// Assert.That(ps.Sorbol(), Is.EqualTo("dio")); Assert.That(ps.Sorbol(), Is.EqualTo("dio"));
// Assert.That(ps.Sorbol(), Is.EqualTo("birsalma")); Assert.That(ps.Sorbol(), Is.EqualTo("birsalma"));
// Assert.That(ps.Sorbol(), Is.EqualTo("barack")); Assert.That(ps.Sorbol(), Is.EqualTo("barack"));
// Assert.That(ps.Sorbol(), Is.EqualTo("alma")); Assert.That(ps.Sorbol(), Is.EqualTo("alma"));
// }); });
// } }
// /// <summary> /// <summary>
// /// Van egy saját hossz alapú rendező függvény, ezért elsőként a leghosszabb stringeket adja vissza. /// Van egy saját hossz alapú rendező függvény, ezért elsőként a leghosszabb stringeket adja vissza.
// /// </summary> /// </summary>
// [TestCase] [TestCase]
// public void KupacEpitesSajatFuggvennyel() public void KupacEpitesSajatFuggvennyel()
// { {
// KupacPrioritasosSor<string> ps = new KupacPrioritasosSor<string>(10, (ez, ennel) => ez.Length > ennel.Length); KupacPrioritasosSor<string> ps = new KupacPrioritasosSor<string>(10, (ez, ennel) => ez.Length > ennel.Length);
// ps.Sorba("oszibarack"); ps.Sorba("oszibarack");
// ps.Sorba("alma"); ps.Sorba("alma");
// ps.Sorba("korte"); ps.Sorba("korte");
// ps.Sorba("birsalma"); ps.Sorba("birsalma");
// ps.Sorba("barack"); ps.Sorba("barack");
// ps.Sorba("dio"); ps.Sorba("dio");
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack")); Assert.That(ps.Sorbol(), Is.EqualTo("oszibarack"));
// Assert.That(ps.Sorbol(), Is.EqualTo("birsalma")); Assert.That(ps.Sorbol(), Is.EqualTo("birsalma"));
// Assert.That(ps.Sorbol(), Is.EqualTo("barack")); Assert.That(ps.Sorbol(), Is.EqualTo("barack"));
// Assert.That(ps.Sorbol(), Is.EqualTo("korte")); Assert.That(ps.Sorbol(), Is.EqualTo("korte"));
// Assert.That(ps.Sorbol(), Is.EqualTo("alma")); Assert.That(ps.Sorbol(), Is.EqualTo("alma"));
// Assert.That(ps.Sorbol(), Is.EqualTo("dio")); Assert.That(ps.Sorbol(), Is.EqualTo("dio"));
// }); });
// } }
// } }
// [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Rendezés Tesztek")] [TestFixture(Category = "Adatszerkezetek", TestName = "11 - Kupac Rendezés Tesztek")]
// public class KupacRendezesTesztek public class KupacRendezesTesztek
// { {
// [TestCase] [TestCase]
// public void KupacEpites() public void KupacEpites()
// { {
// int[] A = [1, 3, 2, 4, 9, 12, 32, 21, 12, 8, 11]; int[] A = [1, 3, 2, 4, 9, 12, 32, 21, 12, 8, 11];
// _ = new Kupac<int>(A, A.Length, (x, y) => x > y); _ = new Kupac<int>(A, A.Length, (x, y) => x > y);
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// for (int i = 1; i < A.Length; i++) for (int i = 1; i < A.Length; i++)
// Assert.That(A[Kupac<int>.Szulo(i)] >= A[i], Is.True); Assert.That(A[Kupac<int>.Szulo(i)] >= A[i], Is.True);
// }); });
// } }
// [TestCase] [TestCase]
// public void KupacRendezes() public void KupacRendezes()
// { {
// int[] A = [5, 8, 7, 0, 9, 6, 4, 1, 3, 2]; int[] A = [5, 8, 7, 0, 9, 6, 4, 1, 3, 2];
// KupacRendezes<int> k = new KupacRendezes<int>(A); KupacRendezes<int> k = new KupacRendezes<int>(A);
// k.Rendezes(); k.Rendezes();
// Assert.Multiple(() => Assert.Multiple(() =>
// { {
// for (int i = 1; i < A.Length; i++) for (int i = 1; i < A.Length; i++)
// Assert.That(A[i], Is.EqualTo(i)); Assert.That(A[i], Is.EqualTo(i));
// }); });
// } }
// } }
//} }