This commit is contained in:
2025-11-23 10:28:49 +05:30
parent fa7045e8c3
commit 133f1ef52b
10 changed files with 68 additions and 56 deletions

View File

@ -38,7 +38,7 @@ IAT_BEGIN_BLOCK(Core, BinaryReader)
auto val1 = reader.Read<UINT8>();
IAT_CHECK(val1.has_value());
IAT_CHECK_EQ(*val1, 0xAA);
IAT_CHECK_EQ(reader.Cursor(), 1);
IAT_CHECK_EQ(reader.Cursor(), (SIZE_T)1);
// Read Second Byte
auto val2 = reader.Read<UINT8>();
@ -61,9 +61,9 @@ IAT_BEGIN_BLOCK(Core, BinaryReader)
// Assuming standard x86/ARM Little Endian for this test
// If your engine supports Big Endian, you'd check architecture here
IAT_CHECK_EQ(*val, 0x04030201);
IAT_CHECK_EQ(*val, (UINT32)0x04030201);
IAT_CHECK_EQ(reader.Cursor(), 4);
IAT_CHECK_EQ(reader.Cursor(), (SIZE_T)4);
IAT_CHECK(reader.IsEOF());
return TRUE;
@ -100,7 +100,7 @@ IAT_BEGIN_BLOCK(Core, BinaryReader)
auto str = reader.ReadString(5);
IAT_CHECK(str.has_value());
IAT_CHECK_EQ(*str, String("Hello"));
IAT_CHECK_EQ(reader.Cursor(), 5);
IAT_CHECK_EQ(reader.Cursor(), (SIZE_T)5);
// Read remaining "IA"
auto str2 = reader.ReadString(2);
@ -128,7 +128,7 @@ IAT_BEGIN_BLOCK(Core, BinaryReader)
IAT_CHECK_EQ(dst[2], 3);
// Verify cursor
IAT_CHECK_EQ(reader.Cursor(), 3);
IAT_CHECK_EQ(reader.Cursor(), (SIZE_T)3);
return TRUE;
}
@ -141,22 +141,22 @@ IAT_BEGIN_BLOCK(Core, BinaryReader)
UINT8 data[10] = { 0 }; // Zero init
BinaryReader reader(data);
IAT_CHECK_EQ(reader.Remaining(), 10);
IAT_CHECK_EQ(reader.Remaining(), (SIZE_T)10);
// Skip
reader.Skip(5);
IAT_CHECK_EQ(reader.Cursor(), 5);
IAT_CHECK_EQ(reader.Remaining(), 5);
IAT_CHECK_EQ(reader.Cursor(), (SIZE_T)5);
IAT_CHECK_EQ(reader.Remaining(), (SIZE_T)5);
// Skip clamping
reader.Skip(100); // Should clamp to 10
IAT_CHECK_EQ(reader.Cursor(), 10);
IAT_CHECK_EQ(reader.Cursor(), (SIZE_T)10);
IAT_CHECK(reader.IsEOF());
// Seek
reader.Seek(2);
IAT_CHECK_EQ(reader.Cursor(), 2);
IAT_CHECK_EQ(reader.Remaining(), 8);
IAT_CHECK_EQ(reader.Cursor(), (SIZE_T)2);
IAT_CHECK_EQ(reader.Remaining(), (SIZE_T)8);
IAT_CHECK_NOT(reader.IsEOF());
return TRUE;

View File

@ -37,14 +37,14 @@ IAT_BEGIN_BLOCK(Core, BinaryWriter)
// Write 1 Byte
writer.Write<UINT8>(0xAA);
IAT_CHECK_EQ(buffer.size(), 1);
IAT_CHECK_EQ(buffer.size(), (SIZE_T)1);
IAT_CHECK_EQ(buffer[0], 0xAA);
// Write 4 Bytes (UINT32)
// 0xDDCCBBAA -> Little Endian: AA BB CC DD
writer.Write<UINT32>(0xDDCCBBAA);
IAT_CHECK_EQ(buffer.size(), 5);
IAT_CHECK_EQ(buffer.size(), (SIZE_T)5);
// Verify Memory Layout
IAT_CHECK_EQ(buffer[1], 0xAA);
@ -67,7 +67,7 @@ IAT_BEGIN_BLOCK(Core, BinaryWriter)
// Should append to end, not overwrite 0x01
writer.Write<UINT8>(0x03);
IAT_CHECK_EQ(buffer.size(), 3);
IAT_CHECK_EQ(buffer.size(), (SIZE_T)3);
IAT_CHECK_EQ(buffer[0], 0x01);
IAT_CHECK_EQ(buffer[2], 0x03);
@ -112,7 +112,7 @@ IAT_BEGIN_BLOCK(Core, BinaryWriter)
writer.WriteBytes((PVOID)msg, 2);
writer.Write<UINT8>(0x00); // Null term
IAT_CHECK_EQ(buffer.size(), 3);
IAT_CHECK_EQ(buffer.size(), (SIZE_T)3);
IAT_CHECK_EQ(buffer[0], 'I');
IAT_CHECK_EQ(buffer[1], 'A');
IAT_CHECK_EQ(buffer[2], 0x00);
@ -157,7 +157,7 @@ IAT_BEGIN_BLOCK(Core, BinaryWriter)
FLOAT32 val = 1.234f;
writer.Write<FLOAT32>(val);
IAT_CHECK_EQ(buffer.size(), 4);
IAT_CHECK_EQ(buffer.size(), (SIZE_T)4);
// Read it back via memcpy to verify
FLOAT32 readBack;

View File

@ -1,62 +1,64 @@
set(TEST_NAME_PREFIX "IACore_Test_Unit_")
# ------------------------------------------------
# C Compile Test
# ------------------------------------------------
enable_language(C)
add_executable(Test_Unit_CCompile "CCompile.c")
add_executable(${TEST_NAME_PREFIX}CCompile "CCompile.c")
set_target_properties(Test_Unit_CCompile PROPERTIES
set_target_properties(${TEST_NAME_PREFIX}CCompile PROPERTIES
C_STANDARD 99
C_STANDARD_REQUIRED ON
LINKER_LANGUAGE C
)
target_link_libraries(Test_Unit_CCompile PRIVATE IACore)
target_link_libraries(${TEST_NAME_PREFIX}CCompile PRIVATE IACore)
# ------------------------------------------------
# Unit: BinaryReader
# ------------------------------------------------
add_executable(Test_Unit_BinaryReader "BinaryReader.cpp")
target_link_libraries(Test_Unit_BinaryReader PRIVATE IACore)
target_compile_options(Test_Unit_BinaryReader PRIVATE -fexceptions)
set_target_properties(Test_Unit_BinaryReader PROPERTIES USE_EXCEPTIONS ON)
add_executable(${TEST_NAME_PREFIX}BinaryReader "BinaryReader.cpp")
target_link_libraries(${TEST_NAME_PREFIX}BinaryReader PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}BinaryReader PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}BinaryReader PROPERTIES USE_EXCEPTIONS ON)
# ------------------------------------------------
# Unit: BinaryWriter
# ------------------------------------------------
add_executable(Test_Unit_BinaryWriter "BinaryWriter.cpp")
target_link_libraries(Test_Unit_BinaryWriter PRIVATE IACore)
target_compile_options(Test_Unit_BinaryWriter PRIVATE -fexceptions)
set_target_properties(Test_Unit_BinaryWriter PROPERTIES USE_EXCEPTIONS ON)
add_executable(${TEST_NAME_PREFIX}BinaryWriter "BinaryWriter.cpp")
target_link_libraries(${TEST_NAME_PREFIX}BinaryWriter PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}BinaryWriter PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}BinaryWriter PROPERTIES USE_EXCEPTIONS ON)
# ------------------------------------------------
# Unit: Environment
# ------------------------------------------------
add_executable(Test_Unit_Environment "Environment.cpp")
target_link_libraries(Test_Unit_Environment PRIVATE IACore)
target_compile_options(Test_Unit_Environment PRIVATE -fexceptions)
set_target_properties(Test_Unit_Environment PROPERTIES USE_EXCEPTIONS ON)
add_executable(${TEST_NAME_PREFIX}Environment "Environment.cpp")
target_link_libraries(${TEST_NAME_PREFIX}Environment PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}Environment PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}Environment PROPERTIES USE_EXCEPTIONS ON)
# ------------------------------------------------
# Unit: File
# ------------------------------------------------
add_executable(Test_Unit_File "File.cpp")
target_link_libraries(Test_Unit_File PRIVATE IACore)
target_compile_options(Test_Unit_File PRIVATE -fexceptions)
set_target_properties(Test_Unit_File PROPERTIES USE_EXCEPTIONS ON)
add_executable(${TEST_NAME_PREFIX}File "File.cpp")
target_link_libraries(${TEST_NAME_PREFIX}File PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}File PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}File PROPERTIES USE_EXCEPTIONS ON)
# ------------------------------------------------
# Unit: Process
# ------------------------------------------------
add_executable(Test_Unit_Process "Process.cpp")
target_link_libraries(Test_Unit_Process PRIVATE IACore)
target_compile_options(Test_Unit_Process PRIVATE -fexceptions)
set_target_properties(Test_Unit_Process PROPERTIES USE_EXCEPTIONS ON)
add_executable(${TEST_NAME_PREFIX}Process "Process.cpp")
target_link_libraries(${TEST_NAME_PREFIX}Process PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}Process PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}Process PROPERTIES USE_EXCEPTIONS ON)
# ------------------------------------------------
# Unit: Utils
# ------------------------------------------------
add_executable(Test_Unit_Utils "Utils.cpp")
target_link_libraries(Test_Unit_Utils PRIVATE IACore)
target_compile_options(Test_Unit_Utils PRIVATE -fexceptions)
set_target_properties(Test_Unit_Utils PROPERTIES USE_EXCEPTIONS ON)
add_executable(${TEST_NAME_PREFIX}Utils "Utils.cpp")
target_link_libraries(${TEST_NAME_PREFIX}Utils PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}Utils PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}Utils PROPERTIES USE_EXCEPTIONS ON)

View File

@ -107,7 +107,7 @@ IAT_BEGIN_BLOCK(Core, File)
IAT_CHECK(result.has_value());
Vector<UINT8>& vec = *result;
IAT_CHECK_EQ(vec.size(), 4);
IAT_CHECK_EQ(vec.size(), (SIZE_T)4);
IAT_CHECK_EQ(vec[0], 0xDE);
IAT_CHECK_EQ(vec[3], 0xEF);
@ -152,7 +152,7 @@ IAT_BEGIN_BLOCK(Core, File)
SIZE_T bytesRead = f.Read(&magicRead, sizeof(magicRead));
IAT_CHECK_EQ(bytesRead, sizeof(UINT32));
IAT_CHECK_EQ(magicRead, 12345);
IAT_CHECK_EQ(magicRead, (UINT32)12345);
}
std::filesystem::remove(path);

View File

@ -96,7 +96,7 @@ IAT_BEGIN_BLOCK(Core, Utils)
// Empty string is valid (empty vector)
auto empty = IACore::Utils::HexStringToBinary("");
IAT_CHECK(empty.has_value());
IAT_CHECK_EQ(empty->size(), 0);
IAT_CHECK_EQ(empty->size(), (SIZE_T)0);
return TRUE;
}