140 lines
3.8 KiB
C++
140 lines
3.8 KiB
C++
#include "CppUnitTest.h"
|
|
#include "helper.h"
|
|
#include "../Hazelnupp/CmdArgsInterface.h"
|
|
#include "../Hazelnupp/HazelnuppException.h"
|
|
|
|
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
|
using namespace Hazelnp;
|
|
|
|
namespace TestHazelnupp
|
|
{
|
|
TEST_CLASS(_Descriptions)
|
|
{
|
|
public:
|
|
|
|
// Tests that the application description can be set and returned
|
|
TEST_METHOD(Set_Get_Application_Brief)
|
|
{
|
|
// Setup
|
|
CmdArgsInterface cmdArgsI;
|
|
cmdArgsI.SetCrashOnFail(false);
|
|
|
|
std::string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse in quam tincidunt sapien euismod egestas eget vel dolor. Duis non turpis porttitor, convallis velit at.";
|
|
|
|
// Exercise
|
|
cmdArgsI.SetBriefDescription(text);
|
|
|
|
// Verify
|
|
Assert::AreEqual(text, cmdArgsI.GetBriefDescription());
|
|
|
|
return;
|
|
}
|
|
|
|
// Tests that a parameters description can be set and returned
|
|
TEST_METHOD(Can_Set_Parameter_Description)
|
|
{
|
|
// Setup
|
|
CmdArgsInterface cmdArgsI;
|
|
cmdArgsI.SetCrashOnFail(false);
|
|
|
|
// Exercise
|
|
cmdArgsI.RegisterDescription("--force", "Just force it");
|
|
cmdArgsI.RegisterDescription("--lose", "Just lose it");
|
|
cmdArgsI.RegisterDescription("--crazy", "Go crazy");
|
|
|
|
// Verify
|
|
Assert::AreEqual(std::string("Just force it"), cmdArgsI.GetDescription("--force"));
|
|
Assert::AreEqual(std::string("Go crazy"), cmdArgsI.GetDescription("--crazy"));
|
|
Assert::AreEqual(std::string("Just lose it"), cmdArgsI.GetDescription("--lose"));
|
|
|
|
return;
|
|
}
|
|
|
|
//! Tests that HasDescription works
|
|
TEST_METHOD(Has_Description)
|
|
{
|
|
// Setup
|
|
CmdArgsInterface cmdArgsI;
|
|
cmdArgsI.SetCrashOnFail(false);
|
|
|
|
// Exercise, verify
|
|
Assert::IsFalse(cmdArgsI.HasDescription("--force"));
|
|
Assert::IsFalse(cmdArgsI.HasDescription("--main"));
|
|
|
|
cmdArgsI.RegisterDescription("--force", "Just force it");
|
|
|
|
Assert::IsTrue(cmdArgsI.HasDescription("--force"));
|
|
Assert::IsFalse(cmdArgsI.HasDescription("--main"));
|
|
|
|
return;
|
|
}
|
|
|
|
// Tests that an unknown parameter returns an empty string
|
|
TEST_METHOD(No_Description_Is_Empty_String)
|
|
{
|
|
// Setup
|
|
CmdArgsInterface cmdArgsI;
|
|
cmdArgsI.SetCrashOnFail(false);
|
|
|
|
// Exercise
|
|
cmdArgsI.RegisterDescription("--force", "Just force it");
|
|
cmdArgsI.RegisterDescription("--lose", "Just lose it");
|
|
cmdArgsI.RegisterDescription("--crazy", "Go crazy");
|
|
|
|
// Verify
|
|
Assert::AreEqual(std::string(), cmdArgsI.GetDescription("--man"));
|
|
|
|
return;
|
|
}
|
|
|
|
// Tests that a description can be deleted
|
|
TEST_METHOD(ClearDescription)
|
|
{
|
|
// Setup
|
|
CmdArgsInterface cmdArgsI;
|
|
cmdArgsI.SetCrashOnFail(false);
|
|
|
|
// Exercise
|
|
cmdArgsI.RegisterDescription("--force", "Just force it");
|
|
cmdArgsI.RegisterDescription("--lose", "Just lose it");
|
|
cmdArgsI.RegisterDescription("--crazy", "Go crazy");
|
|
|
|
cmdArgsI.ClearDescription("--lose");
|
|
|
|
// Verify
|
|
|
|
// These two should still work
|
|
Assert::AreEqual(std::string("Just force it"), cmdArgsI.GetDescription("--force"));
|
|
Assert::AreEqual(std::string("Go crazy"), cmdArgsI.GetDescription("--crazy"));
|
|
|
|
Assert::IsFalse(cmdArgsI.HasDescription("--lose"));
|
|
|
|
return;
|
|
}
|
|
|
|
// Tests that all descriptions can be deleted at once
|
|
TEST_METHOD(ClearDescriptions)
|
|
{
|
|
// Setup
|
|
CmdArgsInterface cmdArgsI;
|
|
cmdArgsI.SetCrashOnFail(false);
|
|
|
|
// Exercise
|
|
cmdArgsI.RegisterDescription("--force", "Just force it");
|
|
cmdArgsI.RegisterDescription("--lose", "Just lose it");
|
|
cmdArgsI.RegisterDescription("--crazy", "Go crazy");
|
|
|
|
cmdArgsI.ClearDescriptions();
|
|
|
|
// Verify
|
|
|
|
// These two should still work
|
|
Assert::IsFalse(cmdArgsI.HasDescription("--force"));
|
|
Assert::IsFalse(cmdArgsI.HasDescription("--crazy"));
|
|
Assert::IsFalse(cmdArgsI.HasDescription("--lose"));
|
|
|
|
return;
|
|
}
|
|
};
|
|
}
|