diff --git a/Task 2/unittest_2.cpp b/Task 2/unittest_2.cpp deleted file mode 100644 index 1593bbbaca2d5c15eb94ad4338e1c7ac8ad6d5dd..0000000000000000000000000000000000000000 --- a/Task 2/unittest_2.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "../simpletest/simpletest.h" -#include "scheduler.h" -// Test for fiber finish state toggle -DEFINE_TEST(TestFiberFinishStateToggle) { - void* dummyFunc = reinterpret_cast<void*>(+[](Context*, Context*){}); - Fiber testFiber(reinterpret_cast<void(*)(Context*, Context*)>(dummyFunc), nullptr); - - // Initially not finished - TEST_EQ(testFiber.isFinished(), false); - - // Toggle finish state - testFiber.setFinished(true); - TEST_EQ(testFiber.isFinished(), true); -} - -// Test scheduler spawn and execution flow -DEFINE_TEST(TestSchedulerSpawnAndExecution) { - Scheduler scheduler; - void* dummyFunc = reinterpret_cast<void*>(+[](Context*, Context*){}); - - // Create and spawn fibers - Fiber* fiber1 = new Fiber(reinterpret_cast<void(*)(Context*, Context*)>(dummyFunc), nullptr); - Fiber* fiber2 = new Fiber(reinterpret_cast<void(*)(Context*, Context*)>(dummyFunc), nullptr); - scheduler.spawn(fiber1); - scheduler.spawn(fiber2); - - // Check if fibers are added to the queue - TEST_EQ(scheduler.hasFibers(), true); - - // Note: Actual context switching cannot be tested here - // Assuming do_it would process the fibers correctly - scheduler.do_it(); - - // After execution, no fibers should be left - TEST_EQ(scheduler.hasFibers(), false); -} - -int main() { - TestFixture::ExecuteAllTests(); - return 0; -}