diff options
Diffstat (limited to 'lib/tst/mem.cc')
-rw-r--r-- | lib/tst/mem.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/tst/mem.cc b/lib/tst/mem.cc new file mode 100644 index 0000000..b233da8 --- /dev/null +++ b/lib/tst/mem.cc @@ -0,0 +1,29 @@ +#include <gtest/gtest.h> + +#define restrict __restrict__ + +namespace libk { +#include "../memcpy.c" +#include "../memset.c" +} // namespace libk + +TEST(mem, memset) +{ + auto *buffer = new unsigned char[2048]; + + libk::memset(buffer, 0xae, sizeof(buffer)); + for (unsigned i = 0; i < sizeof(buffer); ++i) EXPECT_EQ(buffer[i], 0xae); + + delete[] buffer; +} + +TEST(mem, memcpy) +{ + const unsigned char data[] = {0xde, 0xca, 0xfa, 0xde}; + auto *buffer = new unsigned char[sizeof(data)]; + + memcpy(buffer, data, sizeof(data)); + for (unsigned i = 0; i < sizeof(data); ++i) EXPECT_EQ(buffer[i], data[i]); + + delete[] buffer; +} |