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

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

View File

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

View File

@@ -12,6 +12,8 @@
<ItemGroup>
<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.Analyzers" Version="4.10.0">
<PrivateAssets>all</PrivateAssets>