mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-30 05:05:19 -05:00
tests: Added more tests
This commit is contained in:
38
tests/include/test_patterns/test_pattern_padding.hpp
Normal file
38
tests/include/test_patterns/test_pattern_padding.hpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
|
||||
#include "test_pattern.hpp"
|
||||
|
||||
namespace hex::test {
|
||||
|
||||
class TestPatternPadding : public TestPattern {
|
||||
public:
|
||||
TestPatternPadding() : TestPattern("Padding") {
|
||||
auto testStruct = create<PatternDataStruct>(0x100, sizeof(s32) + 20 + sizeof(u8[0x10]), "TestStruct", "testStruct");
|
||||
|
||||
auto variable = create<PatternDataSigned>(0x100, sizeof(s32), "s32", "variable");
|
||||
auto padding = create<PatternDataPadding>(0x100 + sizeof(s32), 20, "", "");
|
||||
auto array = create<PatternDataStaticArray>(0x100 + sizeof(s32) + 20, sizeof(u8[0x10]), "u8", "array");
|
||||
array->setEntries(create<PatternDataUnsigned>(0x100 + sizeof(s32) + 20, sizeof(u8), "u8", ""), 0x10);
|
||||
|
||||
testStruct->setMembers({ variable, padding, array });
|
||||
|
||||
addPattern(testStruct);
|
||||
}
|
||||
~TestPatternPadding() override = default;
|
||||
|
||||
[[nodiscard]]
|
||||
std::string getSourceCode() const override {
|
||||
return R"(
|
||||
struct TestStruct {
|
||||
s32 variable;
|
||||
padding[20];
|
||||
u8 array[0x10];
|
||||
};
|
||||
|
||||
TestStruct testStruct @ 0x100;
|
||||
)";
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user