2026-10-27 20:07:50 +01:00
|
|
|
#include "pch.h"
|
|
|
|
|
#include "CppUnitTest.h"
|
2026-10-31 10:05:41 +01:00
|
|
|
#include <cmydate.h>
|
|
|
|
|
#include <cmydateexception.h>
|
2026-10-27 20:07:50 +01:00
|
|
|
|
|
|
|
|
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
|
|
|
|
|
|
|
|
|
namespace UnitTest1
|
|
|
|
|
{
|
|
|
|
|
TEST_CLASS(UnitTest1)
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
2026-10-31 10:05:41 +01:00
|
|
|
|
|
|
|
|
TEST_METHOD(ValidDate)
|
|
|
|
|
{
|
|
|
|
|
CMyDate date;
|
|
|
|
|
Assert::AreEqual(true, date.IsValid(1980, 4, 23));
|
|
|
|
|
Assert::AreEqual(true, date.IsValid(1970, 1, 31));
|
|
|
|
|
Assert::AreEqual(true, date.IsValid(1970, 2, 28));
|
|
|
|
|
Assert::AreEqual(true, date.IsValid(1970, 9, 30));
|
|
|
|
|
Assert::AreEqual(true, date.IsValid(1972, 2, 29));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_METHOD(InvalidDates)
|
2026-10-27 20:07:50 +01:00
|
|
|
{
|
2026-10-31 10:05:41 +01:00
|
|
|
CMyDate date;
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date.IsValid(1969, 1, 1);
|
|
|
|
|
Assert::IsTrue(false);
|
|
|
|
|
}
|
|
|
|
|
catch (const CMyDateException &e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMinYear, e.what());
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date = CMyDate(1970, 0, 1);
|
|
|
|
|
}
|
|
|
|
|
catch (CMyDateException e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMinMonth, e.what());
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date = CMyDate(1970, 13, 1);
|
|
|
|
|
}
|
|
|
|
|
catch (CMyDateException e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMaxMonth, e.what());
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date = CMyDate(1970, 1, 0);
|
|
|
|
|
}
|
|
|
|
|
catch (CMyDateException e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMinDay, e.what());
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date = CMyDate(1970, 1, 32);
|
|
|
|
|
}
|
|
|
|
|
catch (CMyDateException e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMaxDay, e.what());
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date = CMyDate(1970, 9, 31);
|
|
|
|
|
}
|
|
|
|
|
catch (CMyDateException e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMaxDay, e.what());
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date = CMyDate(1970, 4, 29);
|
|
|
|
|
}
|
|
|
|
|
catch (CMyDateException e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMaxDay, e.what());
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
date = CMyDate(2000, 4, 29);
|
|
|
|
|
}
|
|
|
|
|
catch (CMyDateException e)
|
|
|
|
|
{
|
|
|
|
|
Assert::AreEqual(CMyDateException::ErrMaxDay, e.what());
|
|
|
|
|
}
|
2026-10-27 20:07:50 +01:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|