initial commit

Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
2025-10-31 23:37:30 +01:00
commit bf6b52fd94
9654 changed files with 4035664 additions and 0 deletions

View File

@@ -0,0 +1,127 @@
///////////////////////////////////////////////////////////////////////////////
// Name: tests/strings/hexconv.cpp
// Purpose: wxDecToHex, wxHexToDec unit test
// Author: Artur Wieczorek
// Created: 2017-02-23
// Copyright: (c) 2017 wxWidgets development team
///////////////////////////////////////////////////////////////////////////////
#include "testprec.h"
#include "wx/utils.h"
static void DecToHex1();
static void DecToHex2();
static void DecToHex3();
static void HexToDec1();
static void HexToDec2();
TEST_CASE("HexConvTestCase", "[string][hexconv]")
{
SECTION("DecToHex1") // Conversion to wxString
{
DecToHex1();
}
SECTION("DecToHex2") // Conversion to wxChar string
{
DecToHex2();
}
SECTION("DecToHex3") // Conversion to 2 characters
{
DecToHex3();
}
SECTION("HexToDec1") // Conversion from char string
{
HexToDec1();
}
SECTION("HexToDec2") // Conversion from wxString
{
HexToDec2();
}
}
// ===== Implementation =====
static void DecToHex1()
{
// Conversion to wxString
for ( int i = 0; i < 256; i++ )
{
char szHexStrRef[16];
sprintf(szHexStrRef, "%02X", i);
wxString hexStrRef = wxString(szHexStrRef);
wxString hexStr = wxDecToHex(i);
CHECK(hexStr == hexStrRef);
}
}
static void DecToHex2()
{
// Conversion to wxChar string
for ( int i = 0; i < 256; i++ )
{
char szHexStrRef[16];
sprintf(szHexStrRef, "%02X", i);
wxChar hexStr[4];
memset(hexStr, 0xFF, sizeof(hexStr));
wxChar c3 = hexStr[3]; // This character should remain untouched
wxDecToHex(i, hexStr);
CHECK(hexStr[0] == (wxChar)szHexStrRef[0]);
CHECK(hexStr[1] == (wxChar)szHexStrRef[1]);
CHECK(hexStr[2] == (wxChar)'\0');
CHECK(hexStr[3] == c3);
}
}
static void DecToHex3()
{
// Conversion to 2 characters
for ( int i = 0; i < 256; i++ )
{
char szHexStrRef[16];
sprintf(szHexStrRef, "%02X", i);
char c1 = '\xFF';
char c2 = '\xFF';
wxDecToHex(i, &c1, &c2);
CHECK(c1 == szHexStrRef[0]);
CHECK(c2 == szHexStrRef[1]);
}
}
static void HexToDec1()
{
// Conversion from char string
for ( int i = 0; i < 256; i++ )
{
char szHexStr[16];
sprintf(szHexStr, "%02X", i);
int n = wxHexToDec(szHexStr);
CHECK(n == i);
}
}
static void HexToDec2()
{
// Conversion from wxString
for ( int i = 0; i < 256; i++ )
{
char szHexStr[16];
sprintf(szHexStr, "%02X", i);
wxString hexStr = wxString(szHexStr);
int n = wxHexToDec(hexStr);
CHECK(n == i);
}
}