113 lines
3.2 KiB
C++
113 lines
3.2 KiB
C++
// 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);
|
|
}
|
|
};
|
|
}
|