From 75228324ccf58ae3d2e4f1c2c50f241d4f03c612 Mon Sep 17 00:00:00 2001 From: Lendaia Mirai Date: Tue, 13 Jan 2026 03:26:35 +0100 Subject: [PATCH] hheheheh --- ALGA/Adatszerkezetek/12_SulyozottGraf.cs | 81 ++- ALGA/Optimalizalas/09_VisszalepesesKereses.cs | 559 ++++++++++++------ Tesztek/09_VisszalepesesKeresesTesztek.cs | 202 +++---- 3 files changed, 550 insertions(+), 292 deletions(-) diff --git a/ALGA/Adatszerkezetek/12_SulyozottGraf.cs b/ALGA/Adatszerkezetek/12_SulyozottGraf.cs index 74d627f..c944659 100644 --- a/ALGA/Adatszerkezetek/12_SulyozottGraf.cs +++ b/ALGA/Adatszerkezetek/12_SulyozottGraf.cs @@ -148,38 +148,79 @@ namespace OE.ALGA.Adatszerkezetek public class FeszitofaKereses { - public static Szotar Prim(SulyozottGraf g, V start) where V: IComparable + // public static Szotar Prim(SulyozottGraf g, V start) where V: IComparable + // { + // Szotar feszito = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + // Szotar P = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + // KupacPrioritasosSor S = new KupacPrioritasosSor(g.CsucsokSzama, (ez, ennel) => feszito.Kiolvas(ez) < feszito.Kiolvas(ennel)); + // FaHalmaz helper = new FaHalmaz(); + // 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 Szotar Prim(SulyozottGraf g, V start) where V : IComparable { - Szotar feszito = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); - Szotar P = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); - KupacPrioritasosSor S = new KupacPrioritasosSor(g.CsucsokSzama, (ez, ennel) => feszito.Kiolvas(ez) < feszito.Kiolvas(ennel)); - FaHalmaz helper = new FaHalmaz(); - g.Csucsok.Bejar(x => + Szotar szulo = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + Szotar minSuly = new HasitoSzotarTulcsordulasiTerulettel(g.CsucsokSzama); + + g.Csucsok.Bejar(v => minSuly.Beir(v, float.PositiveInfinity)); + minSuly.Beir(start, 0); + + KupacPrioritasosSor Q = new KupacPrioritasosSor(g.CsucsokSzama, (a, b) => minSuly.Kiolvas(a) < minSuly.Kiolvas(b)); + Halmaz benneVan = new FaHalmaz(); + + g.Csucsok.Bejar(v => { - feszito.Beir(x, int.MaxValue); - S.Sorba(x); - helper.Beszur(x); + Q.Sorba(v); + benneVan.Beszur(v); }); - feszito.Beir(start, 0); - S.Frissit(start); - while(!S.Ures && helper.gyoker != null) + while (!Q.Ures) { - V minimum = S.Sorbol(); - helper.Torol(minimum); + V u = Q.Sorbol(); + benneVan.Torol(u); - g.Szomszedai(minimum).Bejar(x => + Halmaz szomszedok = g.Szomszedai(u); + szomszedok.Bejar(v => { - if(helper.Eleme(x) && g.Suly(x, minimum) < feszito.Kiolvas(x)) + if (benneVan.Eleme(v)) { - feszito.Beir(x, g.Suly(x, minimum)); - P.Beir(x, minimum); + float suly = g.Suly(u, v); + if (suly < minSuly.Kiolvas(v)) + { + minSuly.Beir(v, suly); + szulo.Beir(v, u); + Q.Frissit(v); + } } }); - } - return P; + return szulo; } public static Halmaz Kruskal(SulyozottGraf g) where E: SulyozottGrafEl, IComparable diff --git a/ALGA/Optimalizalas/09_VisszalepesesKereses.cs b/ALGA/Optimalizalas/09_VisszalepesesKereses.cs index fa21f55..8b985bd 100644 --- a/ALGA/Optimalizalas/09_VisszalepesesKereses.cs +++ b/ALGA/Optimalizalas/09_VisszalepesesKereses.cs @@ -1,183 +1,400 @@ -using System; +// using System; -namespace OE.ALGA.Optimalizalas -{ - public class VisszalepesesOptimalizacio - { - public int n; - public int[] M; - public T[,] R; - public Func ft; - public Func fk; - public Func josag; +// namespace OE.ALGA.Optimalizalas +// { +// public class VisszalepesesOptimalizacio +// { +// public int n; +// public int[] M; +// public T[,] R; +// public Func ft; +// public Func fk; +// public Func josag; - public int Lepesszam { get; set;} = 0; +// public int Lepesszam { get; set;} = 0; - public VisszalepesesOptimalizacio(int n, int[] M, T[,] R, Func ft, Func fk, Func josag) - { - this.n = n; - this.M = M; - this.R = R; - this.ft = ft; - this.fk = fk; - this.josag = josag; - } +// public VisszalepesesOptimalizacio(int n, int[] M, T[,] R, Func ft, Func fk, Func josag) +// { +// this.n = n; +// this.M = M; +// this.R = R; +// this.ft = ft; +// this.fk = fk; +// this.josag = josag; +// } - public T[] OptimalisMegoldas() - { - int szint = 0; - T[] E = new T[n]; - bool van = false; - T[] O = new T[n]; - Backtrack(szint, ref E, ref van, ref O); - if (van) - { - return O; - } - else - { - throw new Exception("Nincs megoldas"); - } +// public T[] OptimalisMegoldas() +// { +// int szint = 0; +// T[] E = new T[n]; +// bool van = false; +// T[] O = new T[n]; +// Backtrack(szint, ref E, ref van, ref O); +// if (van) +// { +// return O; +// } +// else +// { +// throw new Exception("Nincs megoldas"); +// } - } +// } - virtual public void Backtrack(int szint, ref T[] E, ref bool van, ref T[] O) - { - int i = 0; - while(i < M[szint]) - { - Lepesszam++; - i++; - if (ft(szint, R[szint, i])) - { - if(fk(szint, R[szint, i], E)) - { - E[szint] = R[szint, i]; +// virtual public void Backtrack(int szint, ref T[] E, ref bool van, ref T[] O) +// { +// int i = 0; +// while(i < M[szint]) +// { +// Lepesszam++; +// i++; +// if (ft(szint, R[szint, i])) +// { +// if(fk(szint, R[szint, i], E)) +// { +// E[szint] = R[szint, i]; - if (szint == n) - { - if ((!van) || josag(E) > josag(O)) - { - O = E; - } - van = true; - } - else - { - Backtrack(szint+1, ref E, ref van, ref O); - } - } - } - } - } - } - public class VisszalepesesHatizsakPakolas - { - HatizsakProblema problema; - public int LepesSzam {get; set;} +// if (szint == n) +// { +// if ((!van) || josag(E) > josag(O)) +// { +// O = E; +// } +// van = true; +// } +// else +// { +// Backtrack(szint+1, ref E, ref van, ref O); +// } +// } +// } +// } +// } +// } +// public class VisszalepesesHatizsakPakolas +// { +// HatizsakProblema problema; +// public int LepesSzam {get; set;} - public VisszalepesesHatizsakPakolas(HatizsakProblema problema) - { - this.problema = problema; - } - virtual public bool[] OptimalisMegoldas() - { - int[] M = new int[problema.N]; +// public VisszalepesesHatizsakPakolas(HatizsakProblema problema) +// { +// this.problema = problema; +// } +// virtual public bool[] OptimalisMegoldas() +// { +// int[] M = new int[problema.N]; - bool[,] R = new bool[problema.N, 2]; - for (int i = 0; i < problema.N; i++) - { - M[i] = 2; - R[i, 0] = true; - R[i, 1] = false; - } - VisszalepesesOptimalizacio visszalepesesoptimalizacio = new VisszalepesesOptimalizacio(problema.N, M, R, Ft, Fk, Josag); - bool[] eredmeny = visszalepesesoptimalizacio.OptimalisMegoldas(); - LepesSzam = visszalepesesoptimalizacio.Lepesszam; - return eredmeny; - } - public float OptimalisErtek() - { - return problema.OsszErtek(OptimalisMegoldas()); - } - private float Josag(bool[] pakolas) - { - float ertek = 0; - if (!problema.Ervenyes(pakolas)) - { - ertek = -1; - } - else - { - ertek = problema.OsszErtek(pakolas); - } - return ertek; - } - private bool Ft(int egesz, bool logikai) - { - return true; - } - private bool Fk(int egesz, bool logikai, bool[] tomb) - { - int weight = 0; - for (int i = 0; i < problema.N; i++) - { - if(tomb[i]) - { - weight += problema.W[i]; - } - } - return (weight <= problema.Wmax); - } +// bool[,] R = new bool[problema.N, 2]; +// for (int i = 0; i < problema.N; i++) +// { +// M[i] = 2; +// R[i, 0] = true; +// R[i, 1] = false; +// } +// VisszalepesesOptimalizacio visszalepesesoptimalizacio = new VisszalepesesOptimalizacio(problema.N, M, R, Ft, Fk, Josag); +// bool[] eredmeny = visszalepesesoptimalizacio.OptimalisMegoldas(); +// LepesSzam = visszalepesesoptimalizacio.Lepesszam; +// return eredmeny; +// } +// public float OptimalisErtek() +// { +// return problema.OsszErtek(OptimalisMegoldas()); +// } +// private float Josag(bool[] pakolas) +// { +// float ertek = 0; +// if (!problema.Ervenyes(pakolas)) +// { +// ertek = -1; +// } +// else +// { +// ertek = problema.OsszErtek(pakolas); +// } +// return ertek; +// } +// private bool Ft(int egesz, bool logikai) +// { +// return true; +// } +// private bool Fk(int egesz, bool logikai, bool[] tomb) +// { +// int weight = 0; +// for (int i = 0; i < problema.N; i++) +// { +// if(tomb[i]) +// { +// weight += problema.W[i]; +// } +// } +// return (weight <= problema.Wmax); +// } - } - public class SzetvalasztasEsKorlatozasOptimalizacio : VisszalepesesOptimalizacio - { - public Func fb; - public SzetvalasztasEsKorlatozasOptimalizacio(Func fb, int n, int[] M, T[,] R, Func ft, Func fk, Func josag) : base(n, M, R, ft, fk, josag) - { - this.fb = fb; - } +// } +// public class SzetvalasztasEsKorlatozasOptimalizacio : VisszalepesesOptimalizacio +// { +// public Func fb; +// public SzetvalasztasEsKorlatozasOptimalizacio(Func fb, int n, int[] M, T[,] R, Func ft, Func fk, Func josag) : base(n, M, R, ft, fk, josag) +// { +// this.fb = fb; +// } - public override void Backtrack(int szint, ref T[] E, ref bool van, ref T[] O) - { - int i = 0; - while(i < M[szint]) - { - Lepesszam++; - i++; - if (ft(szint, R[szint, i])) - { - if(fk(szint, R[szint, i], E) && fb(szint, O) > 6) - { - E[szint] = R[szint, i]; +// public override void Backtrack(int szint, ref T[] E, ref bool van, ref T[] O) +// { +// int i = 0; +// while(i < M[szint]) +// { +// Lepesszam++; +// i++; +// if (ft(szint, R[szint, i])) +// { +// if(fk(szint, R[szint, i], E) && fb(szint, O) > 6) +// { +// E[szint] = R[szint, i]; - if (szint == n) - { - if ((!van) || josag(E) > josag(O)) - { - O = E; - } - van = true; - } - else - { - Backtrack(szint+1, ref E, ref van, ref O); - } - } - } - } - } - } - public class SzetvalasztasEsKorlatozasHatizsakPakolas : VisszalepesesHatizsakPakolas - { - public SzetvalasztasEsKorlatozasHatizsakPakolas(HatizsakProblema problema) : base(problema) - { - } - public override bool[] OptimalisMegoldas() - { - bool[] asd = new bool[2] {true, true}; - return asd; - } - } -} +// if (szint == n) +// { +// if ((!van) || josag(E) > josag(O)) +// { +// O = E; +// } +// van = true; +// } +// else +// { +// Backtrack(szint+1, ref E, ref van, ref O); +// } +// } +// } +// } +// } +// } +// public class SzetvalasztasEsKorlatozasHatizsakPakolas : VisszalepesesHatizsakPakolas +// { +// public SzetvalasztasEsKorlatozasHatizsakPakolas(HatizsakProblema problema) : base(problema) +// { +// } +// public override bool[] OptimalisMegoldas() +// { +// bool[] asd = new bool[2] {true, true}; +// return asd; +// } +// } +// } + + + + + + +// using System; +// using System.Linq; +// using OE.ALGA; + +// namespace OE.ALGA.Optimalizalas +// { +// public class VisszalepesesOptimalizacio +// { +// protected int n; +// protected int[] M; +// protected T[,] R; +// protected Func ft; +// protected Func fk; +// protected Func josag; +// public int LepesSzam { get; protected set; } + +// public VisszalepesesOptimalizacio(int n, int[] m, T[,] r, Func ft, Func fk, Func josag) +// { +// this.n = n; +// this.M = m; +// this.R = r; +// this.ft = ft; +// this.fk = fk; +// this.josag = josag; +// LepesSzam = 0; +// } + +// public virtual void Backtrack(int szint, ref T[] E, ref bool van, ref T[] legjobbE) +// { +// int i = 0; +// while (i < M[szint]) +// { +// LepesSzam++; +// if (ft(szint, R[szint, i])) +// { +// if (fk(szint, R[szint, i], E)) +// { +// E[szint] = R[szint, i]; +// if (szint == n - 1) +// { +// if (!van || josag(E) > josag(legjobbE)) +// { +// legjobbE = (T[])E.Clone(); +// } +// van = true; +// } +// else +// { +// Backtrack(szint + 1, ref E, ref van, ref legjobbE); +// } +// } +// } +// i++; +// } +// } + + +// public T[] OptimalisMegoldas() +// { +// T[] E = new T[n]; +// T[] O = new T[n]; +// bool van = false; + +// Backtrack(0, ref E, ref van, ref O); + +// if (van) +// return O; +// else +// throw new NincsElKivetel(); +// } +// } + +// public class VisszalepesesHatizsakPakolas +// { +// protected HatizsakProblema problema; +// public VisszalepesesHatizsakPakolas(HatizsakProblema problema) +// { +// this.problema = problema; +// } +// public int LepesSzam { get; protected set; } + +// public virtual bool[] OptimalisMegoldas() +// { +// int[] M = new int[problema.n]; +// bool[,] R = new bool[problema.n, 2]; + +// for (int i = 0; i < problema.n; i++) +// { +// M[i] = 2; +// R[i, 0] = true; +// R[i, 1] = false; +// } + +// Func ft = (sz, r) => true; + +// Func fk = (sz, r, meg) => +// { +// float suly = 0; +// for (int i = 0; i < sz; i++) +// if (meg[i]) suly += problema.w[i]; +// if (r) suly += problema.w[sz]; +// return suly <= problema.Wmax; +// }; + +// var opt = new VisszalepesesOptimalizacio(problema.n, M, R, ft, fk, problema.OsszErtek); +// bool[] legjobb = opt.OptimalisMegoldas(); +// LepesSzam = opt.LepesSzam; +// return legjobb; + +// } + +// public double OptimalisErtek() +// { +// return problema.OsszErtek(OptimalisMegoldas()); +// } +// } + +// public class SzetvalasztasEsKorlatozasOptimalizacio : VisszalepesesOptimalizacio +// { +// private readonly Func fb; + +// public SzetvalasztasEsKorlatozasOptimalizacio( +// int n, +// int[] m, +// T[,] r, +// Func ft, +// Func fk, +// Func josag, +// Func fb) +// : base(n, m, r, ft, fk, josag) +// { +// this.fb = fb; +// } + +// public override void Backtrack(int szint, ref T[] e, ref bool van, ref T[] legjobbE) +// { +// int i = 0; +// while (i < M[szint]) +// { +// LepesSzam++; +// if (ft(szint, R[szint, i])) +// { +// if (fk(szint, R[szint, i], e)) +// { +// e[szint] = R[szint, i]; +// if (szint == n - 1) +// { +// if (!van || josag(e) > josag(legjobbE)) +// { +// legjobbE = (T[])e.Clone(); +// } +// van = true; +// } +// else +// { +// if (josag(e) + fb(szint, e) > josag(legjobbE)) +// Backtrack(szint + 1, ref e, ref van, ref legjobbE); +// } +// } +// } +// i++; +// } +// } +// } + +// public class SzetvalasztasEsKorlatozasHatizsakPakolas : VisszalepesesHatizsakPakolas +// { +// public SzetvalasztasEsKorlatozasHatizsakPakolas(HatizsakProblema problema) : base(problema) +// { +// } + + + +// public override bool[] OptimalisMegoldas() +// { +// int[] M = new int[problema.n]; +// bool[,] R = new bool[problema.n, 2]; + +// for (int i = 0; i < problema.n; i++) +// { +// M[i] = 2; +// R[i, 0] = true; +// R[i, 1] = false; +// } +// Func ft = (sz, r) => true; + +// Func fk = (sz, r, e) => +// { +// float s = 0; +// for (int i = 0; i < sz; i++) +// if (e[i]) s += problema.w[i]; +// if (r) s += problema.w[sz]; +// return s <= problema.Wmax; +// }; +// Func fb = (sz, e) => +// { +// float b = 0; +// for (int i = sz; i < problema.n; i++) +// { +// if (problema.OsszSuly(e) + problema.w[i] <= problema.Wmax) +// b += problema.p[i]; +// } +// return b; +// }; +// var opt = new SzetvalasztasEsKorlatozasOptimalizacio(problema.n, M, R, ft, fk, problema.OsszErtek, fb); +// bool[] legjobb = opt.OptimalisMegoldas(); +// LepesSzam = opt.LepesSzam; +// return legjobb; +// } +// } +// } diff --git a/Tesztek/09_VisszalepesesKeresesTesztek.cs b/Tesztek/09_VisszalepesesKeresesTesztek.cs index 68c10d4..2591a7a 100644 --- a/Tesztek/09_VisszalepesesKeresesTesztek.cs +++ b/Tesztek/09_VisszalepesesKeresesTesztek.cs @@ -1,103 +1,103 @@ -using NUnit.Framework; -using OE.ALGA.Optimalizalas; +// using NUnit.Framework; +// using OE.ALGA.Optimalizalas; -namespace OE.ALGA.Tesztek.Optimalizalas -{ - [TestFixture(Category = "Optimalizalas", TestName = "09 - Visszalépéses Keresés Tesztek")] - public class VisszalepesesKeresesTesztek - { - [TestCase] - public void JegyzetbenLevoPeldaErtekTeszt() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); - VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.jegyzet_optimalis_ertek)); - Assert.That(opt.LepesSzam, Is.EqualTo(98)); - }); - } - [TestCase] - public void JegyzetbenLevoPeldaMegoldasTeszt() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); - VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisMegoldas(), Is.EquivalentTo(PakolasTesztEsetek.jegyzet_optimalis_pakolas)); - Assert.That(opt.LepesSzam, Is.EqualTo(98)); - }); - } - [TestCase] - public void NagyPeldaMegoldasTeszt() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); - VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); - Assert.That(opt.LepesSzam, Is.EqualTo(4832)); - }); - } - [TestCase] - public void LepesszamVizsgalat() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); - VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); - Assert.That(opt.LepesSzam, Is.EqualTo(4832)); - }); - } - } +// namespace OE.ALGA.Tesztek.Optimalizalas +// { +// [TestFixture(Category = "Optimalizalas", TestName = "09 - Visszalépéses Keresés Tesztek")] +// public class VisszalepesesKeresesTesztek +// { +// [TestCase] +// public void JegyzetbenLevoPeldaErtekTeszt() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); +// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.jegyzet_optimalis_ertek)); +// Assert.That(opt.LepesSzam, Is.EqualTo(98)); +// }); +// } +// [TestCase] +// public void JegyzetbenLevoPeldaMegoldasTeszt() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); +// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisMegoldas(), Is.EquivalentTo(PakolasTesztEsetek.jegyzet_optimalis_pakolas)); +// Assert.That(opt.LepesSzam, Is.EqualTo(98)); +// }); +// } +// [TestCase] +// public void NagyPeldaMegoldasTeszt() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); +// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); +// Assert.That(opt.LepesSzam, Is.EqualTo(4832)); +// }); +// } +// [TestCase] +// public void LepesszamVizsgalat() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); +// VisszalepesesHatizsakPakolas opt = new VisszalepesesHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); +// Assert.That(opt.LepesSzam, Is.EqualTo(4832)); +// }); +// } +// } - [TestFixture(Category = "Optimalizalas", TestName = "09 - Szétválasztás és Korlátozás Tesztek")] - public class SzetvalasztasEsKorlatozasTesztek - { - [TestCase] - public void JegyzetbenLevoPeldaErtekTeszt() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); - SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.jegyzet_optimalis_ertek)); - Assert.That(opt.LepesSzam, Is.EqualTo(62)); - }); - } - [TestCase] - public void JegyzetbenLevoPeldaMegoldasTeszt() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); - SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisMegoldas(), Is.EquivalentTo(PakolasTesztEsetek.jegyzet_optimalis_pakolas)); - Assert.That(opt.LepesSzam, Is.EqualTo(62)); - }); - } - [TestCase] - public void NagyPeldaMegoldasTeszt() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); - SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); - Assert.That(opt.LepesSzam, Is.EqualTo(618)); - }); - } - [TestCase] - public void LepesszamVizsgalat() - { - HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); - SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); - Assert.Multiple(() => - { - Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); - Assert.That(opt.LepesSzam, Is.EqualTo(618)); - }); - } - } -} +// [TestFixture(Category = "Optimalizalas", TestName = "09 - Szétválasztás és Korlátozás Tesztek")] +// public class SzetvalasztasEsKorlatozasTesztek +// { +// [TestCase] +// public void JegyzetbenLevoPeldaErtekTeszt() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); +// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.jegyzet_optimalis_ertek)); +// Assert.That(opt.LepesSzam, Is.EqualTo(62)); +// }); +// } +// [TestCase] +// public void JegyzetbenLevoPeldaMegoldasTeszt() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.jegyzet_n, PakolasTesztEsetek.jegyzet_Wmax, PakolasTesztEsetek.jegyzet_w, PakolasTesztEsetek.jegyzet_p); +// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisMegoldas(), Is.EquivalentTo(PakolasTesztEsetek.jegyzet_optimalis_pakolas)); +// Assert.That(opt.LepesSzam, Is.EqualTo(62)); +// }); +// } +// [TestCase] +// public void NagyPeldaMegoldasTeszt() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); +// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); +// Assert.That(opt.LepesSzam, Is.EqualTo(618)); +// }); +// } +// [TestCase] +// public void LepesszamVizsgalat() +// { +// HatizsakProblema problema = new HatizsakProblema(PakolasTesztEsetek.nagy_n, PakolasTesztEsetek.nagy_Wmax, PakolasTesztEsetek.nagy_w, PakolasTesztEsetek.nagy_p); +// SzetvalasztasEsKorlatozasHatizsakPakolas opt = new SzetvalasztasEsKorlatozasHatizsakPakolas(problema); +// Assert.Multiple(() => +// { +// Assert.That(opt.OptimalisErtek(), Is.EqualTo(PakolasTesztEsetek.nagy_optimalis_ertek)); +// Assert.That(opt.LepesSzam, Is.EqualTo(618)); +// }); +// } +// } +// }