// IFPQYY | Tóth Dániel Mátyás | V1 #include "pch.h" #include "CppUnitTest.h" #include "feladat3.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace UnitTest1 { TEST_CLASS(UnitTest1) { public: char infn[MYMAXFILES][MYMAXFN] = {}; char outfn[MYMAXFILES][MYMAXFN] = {}; static unsigned char buf[MYBUFSIZE]; unsigned short minv, maxv, avgv, nv; TEST_METHOD(InvalidFileParameter) { char* argv[] = { "", "doesntexist" }; Assert::AreEqual(GetFilenames(2, argv, infn, outfn), NOK); } TEST_METHOD(AllValidFileParameter) { char* argv[] = { "", "C:\\Users\\danit\\Desktop\\2026-27-cpp-homework\\feladat3\\UnitTest1\\datasets.txt" //couldn't find the working directory :( }; Assert::AreEqual(GetFilenames(2, argv, infn, outfn), OK); } TEST_METHOD(NoFileParameter) { char* argv[] = { "" }; Assert::AreEqual(GetFilenames(1, argv, infn, outfn), NOK); } TEST_METHOD(EmptyFile) { char* argv[] = { "", "C:\\Users\\danit\\Desktop\\2026-27-cpp-homework\\feladat3\\UnitTest1\\empty.txt" }; Assert::AreEqual(GetFilenames(2, argv, infn, outfn), NOK); } TEST_METHOD(InvalidFile) { char* argv[] = { "", "C:\\Users\\danit\\Desktop\\2026-27-cpp-homework\\feladat3\\UnitTest1\\bad.txt" }; Assert::AreEqual(GetFilenames(2, argv, infn, outfn), NOK); } TEST_METHOD(SortSomeMoodleFiles) { char infn[MYMAXFILES][MYMAXFN] = {}; char outfn[MYMAXFILES][MYMAXFN] = {}; static unsigned char buf[MYBUFSIZE]; unsigned short minv, maxv, avgv, nv; char* argv[] = { "", "C:\\Users\\danit\\Desktop\\2026-27-cpp-homework\\feladat3\\UnitTest1\\somedatasets.txt" }; GetFilenames(2, argv, infn, outfn); //valid files, too lazyto write in by hand for (int n = 0; (n < MYMAXFILES) && (infn[n][0] != '\0'); n++) { Assert::AreEqual(SortFile(infn[n], outfn[n], buf, &minv, &maxv, &avgv, &nv, MYBUFSIZE, true), OK); } } TEST_METHOD(SortAllMoodleFiles) { char infn[MYMAXFILES][MYMAXFN] = {}; char outfn[MYMAXFILES][MYMAXFN] = {}; static unsigned char buf[MYBUFSIZE]; unsigned short minv, maxv, avgv, nv; char* argv[] = { "", "C:\\Users\\danit\\Desktop\\2026-27-cpp-homework\\feladat3\\UnitTest1\\datasets.txt" }; GetFilenames(2, argv, infn, outfn); //also valid files for (int n = 0; (n < MYMAXFILES) && (infn[n][0] != '\0'); n++) { Assert::AreEqual(SortFile(infn[n], outfn[n], buf, &minv, &maxv, &avgv, &nv, MYBUFSIZE, true), OK); } } TEST_METHOD(NullPtrs) { for (int n = 0; (n < MYMAXFILES) && (infn[n][0] != '\0'); n++) { Assert::AreEqual(SortFile(nullptr, nullptr, nullptr, &minv, &maxv, &avgv, &nv, MYBUFSIZE, true), NOK); } } TEST_METHOD(InvalidFileNames) { static unsigned char buf[MYBUFSIZE]; unsigned short minv, maxv, avgv, nv; Assert::AreEqual(SortFile("bad", "morebad", buf, &minv, &maxv, &avgv, &nv, MYBUFSIZE, true), NOK); } TEST_METHOD(BadBufferSize) { char infn[MYMAXFILES][MYMAXFN] = {}; char outfn[MYMAXFILES][MYMAXFN] = {}; static unsigned char buf[2]; unsigned short minv, maxv, avgv, nv; Assert::AreEqual(SortFile(infn[0], outfn[0], buf, &minv, &maxv, &avgv, &nv, MYBUFSIZE, true), NOK); } }; }