Files
libsst/ZTestSuite/Test-ZName.cpp
2026-04-03 00:22:39 -05:00

97 lines
2.8 KiB
C++

/*
Test-ZName.cpp
Author: James Russell <jcrussell@762studios.com>
Purpose: Unit Test the ZName class.
Changelog:
12/18/2011 - Removed dependency on ZString (crertel)
2011/04/07 - creation (jcrussell)
*/
#include "ZUnitTest.hpp"
#include <ZUtil/ZName.hpp>
static const char* test_Constructors();
static const char* test_Operators();
static const char* test_ToString();
//List of unit tests
ZUnitTest ZNameUnitTests[] =
{
{ "ZName: Constructors", test_Constructors },
{ "ZName: Operators", test_Operators },
{ "ZName: String Conversion", test_ToString }
};
//Now declare the ZUnitTestBlock associated with this.
DECLARE_ZTESTBLOCK(ZName);
/*************************************************************************/
static bool testFunction(ZName _name, ZString _string)
{
return _name.ToString() == _string;
}
static const char* test_Constructors()
{
ZName name1("TestName1");
ZName name2("TestName2");
TASSERT(testFunction(name1, "TestName1"), "ZName: Failed to copy construct and compare correctly!");
TASSERT(!testFunction(name2, "WRONG!"), "ZName: Failed to copy construct and compare incorrectly!")
return ZTEST_SUCCESS;
}
/*************************************************************************/
static const char* test_Operators()
{
ZName testName1 = "Name1";
ZName testName2("Name2");
ZName testName3;
ZName testName4 = "TestName4";
ZName testName5("TestName5");
ZName testName6;
testName3 = "Name3";
TASSERT(testName1 == "Name1", "ZName : Setting testName1 Failed!");
TASSERT(testName2 == "Name2", "ZName : Setting testName2 Failed!");
TASSERT(testName3 == "Name3", "ZName : Setting testName3 Failed!");
TASSERT(testName1 != testName2, "ZName : Comparison of testName1 and testName2 Failed!");
TASSERT(testName1 != testName3, "ZName : Comparison of testName1 and testName3 Failed!");
TASSERT(testName2 != testName3, "ZName : Comparison of testName1 and testName2 Failed!");
testName6 = "TestName6";
TASSERT(testName4 == "TestName4", "ZName : Setting testName4 Failed!");
TASSERT(testName5 == "TestName5", "ZName : Setting testName5 Failed!");
TASSERT(testName6 == "TestName6", "ZName : Setting testName6 Failed!");
TASSERT(testName4 != testName5, "ZName : Comparison of testName4 and testName5 Failed!");
TASSERT(testName4 != testName6, "ZName : Comparison of testName4 and testName6 Failed!");
TASSERT(testName5 != testName6, "ZName : Comparison of testName5 and testName6 Failed!");
return ZTEST_SUCCESS;
}
/*************************************************************************/
static const char* test_ToString()
{
ZName testName1 = "Name1";
ZString testString1 = testName1.ToString();
TASSERT(testString1 == "Name1", "ZName : Unable to convert to ZString!");
TASSERT(testString1.PopBack() == '1', "ZName : Unable to manipulate converted ZString!");
return ZTEST_SUCCESS;
}