This commit is contained in:
Lendaia Mirai
2025-09-28 02:26:11 +02:00
parent 23cdea4274
commit 83d76f2799
3 changed files with 148 additions and 144 deletions

View File

@@ -6,16 +6,15 @@ namespace OE.ALGA.Paradigmak
{ {
public class FeltetelesFeladatTarolo<T> : FeladatTarolo<T>, IEnumerable<T> where T : IVegrehajthato public class FeltetelesFeladatTarolo<T> : FeladatTarolo<T>, IEnumerable<T> where T : IVegrehajthato
{ {
public Func<T, bool> BejaroFeltetel public Func<T, bool> BejaroFeltetel
{ {
get; get;
set; set;
} }
public bool Igaz(T t) public bool Igaz(T t)
{ {
return true; return true;
} }
public FeltetelesFeladatTarolo(int l) : base(l) public FeltetelesFeladatTarolo(int l) : base(l)
{ {
BejaroFeltetel = Igaz; BejaroFeltetel = Igaz;
@@ -24,7 +23,7 @@ namespace OE.ALGA.Paradigmak
{ {
foreach (T t in tarolo) foreach (T t in tarolo)
{ {
if (feltetel(t) && t != null) if (t != null && feltetel(t))
{ {
t.Vegrehajtas(); t.Vegrehajtas();
} }
@@ -35,8 +34,9 @@ namespace OE.ALGA.Paradigmak
FeltetelesFeladatTaroloBejaro<T> bejaro = new FeltetelesFeladatTaroloBejaro<T>(tarolo, n, BejaroFeltetel); FeltetelesFeladatTaroloBejaro<T> bejaro = new FeltetelesFeladatTaroloBejaro<T>(tarolo, n, BejaroFeltetel);
return bejaro; return bejaro;
} }
} }
public class FeltetelesFeladatTaroloBejaro<T> : IEnumerator<T> public class FeltetelesFeladatTaroloBejaro<T> : IEnumerator<T> where T : IVegrehajthato
{ {
T[] tarolo; T[] tarolo;
int n; int n;
@@ -72,8 +72,10 @@ namespace OE.ALGA.Paradigmak
{ {
return true; return true;
} }
MoveNext(); else
return false; {
return false;
}
} }
else else
{ {

View File

@@ -1,136 +1,136 @@
// using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
// using OE.ALGA.Paradigmak; using OE.ALGA.Paradigmak;
//
// namespace OE.ALGA.Tesztek namespace OE.ALGA.Tesztek
// { {
// [TestClass()] [TestClass()]
// public class FeltetelesFeladatTaroloTesztek public class FeltetelesFeladatTaroloTesztek
// { {
// [TestMethod()] [TestMethod()]
// public void FelveszTeszt() //F1.(a) public void FelveszTeszt() //F1.(a)
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// } }
//
// [TestMethod()] [TestMethod()]
// [ExpectedException(typeof(TaroloMegteltKivetel))] [ExpectedException(typeof(TaroloMegteltKivetel))]
// public void TulsokatFelveszTeszt() //F1.(a) public void TulsokatFelveszTeszt() //F1.(a)
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(5); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(5);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// } }
//
// [TestMethod()] [TestMethod()]
// public void MindenVegrehajtasTeszt() //F1.(a) public void MindenVegrehajtasTeszt() //F1.(a)
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// TesztFeladat b = new TesztFeladat("b"); TesztFeladat b = new TesztFeladat("b");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(b); tarolo.Felvesz(b);
// Assert.IsFalse(a.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(a.Vegrehajtott);
// Assert.IsFalse(b.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(b.Vegrehajtott);
// tarolo.MindentVegrehajt(); tarolo.MindentVegrehajt();
// Assert.IsTrue(a.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a.Vegrehajtott);
// Assert.IsTrue(b.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(b.Vegrehajtott);
// } }
//
// [TestMethod()] [TestMethod()]
// public void BejaroTeszt() //F1.(a) public void BejaroTeszt() //F1.(a)
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10);
// TesztFeladat a = new TesztFeladat("a"); TesztFeladat a = new TesztFeladat("a");
// TesztFeladat b = new TesztFeladat("b"); TesztFeladat b = new TesztFeladat("b");
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(b); tarolo.Felvesz(b);
// string nevek = ""; string nevek = "";
// foreach (TesztFeladat u in tarolo) foreach (TesztFeladat u in tarolo)
// { {
// nevek += u.Azonosito; nevek += u.Azonosito;
// } }
// Assert.AreEqual("ab", nevek); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual("ab", nevek);
// } }
//
// [TestMethod()] [TestMethod()]
// public void FeltetelesVegrehajtasTeszt() //F1.(b) public void FeltetelesVegrehajtasTeszt() //F1.(b)
// { {
// FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10); FeltetelesFeladatTarolo<TesztFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFeladat>(10);
// TesztFeladat a1 = new TesztFeladat("a1"); TesztFeladat a1 = new TesztFeladat("a1");
// TesztFeladat b1 = new TesztFeladat("b1"); TesztFeladat b1 = new TesztFeladat("b1");
// TesztFeladat a2 = new TesztFeladat("a2"); TesztFeladat a2 = new TesztFeladat("a2");
// tarolo.Felvesz(a1); tarolo.Felvesz(a1);
// tarolo.Felvesz(b1); tarolo.Felvesz(b1);
// tarolo.Felvesz(a2); tarolo.Felvesz(a2);
// Assert.IsFalse(a1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(a1.Vegrehajtott);
// Assert.IsFalse(b1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(b1.Vegrehajtott);
// Assert.IsFalse(a2.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(a2.Vegrehajtott);
// tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'a'); // csak 'a' kezdetűek végrehajtása tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'a'); // csak 'a' kezdetűek végrehajtása
// Assert.IsTrue(a1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a1.Vegrehajtott);
// Assert.IsFalse(b1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(b1.Vegrehajtott);
// Assert.IsTrue(a2.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a2.Vegrehajtott);
// tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'b'); // csak 'b' kezdetűek végrehajtása tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'b'); // csak 'b' kezdetűek végrehajtása
// Assert.IsTrue(a1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a1.Vegrehajtott);
// Assert.IsTrue(b1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(b1.Vegrehajtott);
// Assert.IsTrue(a2.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a2.Vegrehajtott);
// } }
//
// [TestMethod()] [TestMethod()]
// public void FeltetelesFuggosegesVegrehajtasTeszt() //F1.(b) public void FeltetelesFuggosegesVegrehajtasTeszt() //F1.(b)
// { {
// FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10); FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10);
// TesztFuggoFeladat a1 = new TesztFuggoFeladat("a1") { Vegrehajthato = true }; TesztFuggoFeladat a1 = new TesztFuggoFeladat("a1") { Vegrehajthato = true };
// TesztFuggoFeladat b1 = new TesztFuggoFeladat("b1") { Vegrehajthato = true }; TesztFuggoFeladat b1 = new TesztFuggoFeladat("b1") { Vegrehajthato = true };
// TesztFuggoFeladat a2 = new TesztFuggoFeladat("a2") { Vegrehajthato = false }; TesztFuggoFeladat a2 = new TesztFuggoFeladat("a2") { Vegrehajthato = false };
// tarolo.Felvesz(a1); tarolo.Felvesz(a1);
// tarolo.Felvesz(b1); tarolo.Felvesz(b1);
// tarolo.Felvesz(a2); tarolo.Felvesz(a2);
// Assert.IsFalse(a1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(a1.Vegrehajtott);
// Assert.IsFalse(b1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(b1.Vegrehajtott);
// Assert.IsFalse(a2.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(a2.Vegrehajtott);
// tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'a' && x.FuggosegTeljesul); // csak 'a' kezdetű és végrehajtható tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'a' && x.FuggosegTeljesul); // csak 'a' kezdetű és végrehajtható
// Assert.IsTrue(a1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a1.Vegrehajtott);
// Assert.IsFalse(b1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(b1.Vegrehajtott);
// Assert.IsFalse(a2.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(a2.Vegrehajtott);
// tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'b' && x.FuggosegTeljesul); // csak 'b' kezdetű és végrehajtható tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'b' && x.FuggosegTeljesul); // csak 'b' kezdetű és végrehajtható
// Assert.IsTrue(a1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a1.Vegrehajtott);
// Assert.IsTrue(b1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(b1.Vegrehajtott);
// Assert.IsFalse(a2.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(a2.Vegrehajtott);
// a2.Vegrehajthato = true; a2.Vegrehajthato = true;
// tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'a' && x.FuggosegTeljesul); // csak 'a' kezdetű és végrehajtható tarolo.FeltetelesVegrehajtas(x => x.Azonosito[0] == 'a' && x.FuggosegTeljesul); // csak 'a' kezdetű és végrehajtható
// Assert.IsTrue(a1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a1.Vegrehajtott);
// Assert.IsTrue(b1.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(b1.Vegrehajtott);
// Assert.IsTrue(a2.Vegrehajtott); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(a2.Vegrehajtott);
// } }
//
// [TestMethod()] [TestMethod()]
// public void FeltetelesBejaroTeszt() //F3.(b) public void FeltetelesBejaroTeszt() //F3.(b)
// { {
// FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10); FeltetelesFeladatTarolo<TesztFuggoFeladat> tarolo = new FeltetelesFeladatTarolo<TesztFuggoFeladat>(10);
// tarolo.BejaroFeltetel = (x => x.FuggosegTeljesul); tarolo.BejaroFeltetel = (x => x.FuggosegTeljesul);
// TesztFuggoFeladat a = new TesztFuggoFeladat("a") { Vegrehajthato = true }; TesztFuggoFeladat a = new TesztFuggoFeladat("a") { Vegrehajthato = true };
// TesztFuggoFeladat b = new TesztFuggoFeladat("b") { Vegrehajthato = false }; TesztFuggoFeladat b = new TesztFuggoFeladat("b") { Vegrehajthato = false };
// TesztFuggoFeladat c = new TesztFuggoFeladat("c") { Vegrehajthato = true }; TesztFuggoFeladat c = new TesztFuggoFeladat("c") { Vegrehajthato = true };
// tarolo.Felvesz(a); tarolo.Felvesz(a);
// tarolo.Felvesz(b); tarolo.Felvesz(b);
// tarolo.Felvesz(c); tarolo.Felvesz(c);
// string nevek = ""; string nevek = "";
// foreach (TesztFeladat u in tarolo) foreach (TesztFeladat u in tarolo)
// { {
// nevek += u.Azonosito; nevek += u.Azonosito;
// } }
// Assert.AreEqual("ac", nevek); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual("ac", nevek);
// } }
// } }
// } }

View File

@@ -12,6 +12,8 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.14.2" />
<PackageReference Include="MSTest" Version="3.10.4" />
<PackageReference Include="NUnit" Version="4.4.0" /> <PackageReference Include="NUnit" Version="4.4.0" />
<PackageReference Include="NUnit.Analyzers" Version="4.10.0"> <PackageReference Include="NUnit.Analyzers" Version="4.10.0">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>