mirror of
https://github.com/EmberEmu/Ember
synced 2026-08-14 22:32:05 -04:00
41 lines
No EOL
1.3 KiB
C++
41 lines
No EOL
1.3 KiB
C++
/*
|
|
* Copyright (c) 2024 - 2025 Ember
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
#include <spark/buffers/Shared.h>
|
|
#include <gtest/gtest.h>
|
|
#include <array>
|
|
#include <cstdint>
|
|
|
|
using namespace ember::spark::io::detail;
|
|
|
|
TEST(BufferUtility, SrcDestOverlap_Start) {
|
|
std::array<std::uint8_t, 10> buffer{};
|
|
ASSERT_TRUE(region_overlap(buffer.data(), buffer.size(), buffer.data(), buffer.size()));
|
|
}
|
|
|
|
TEST(BufferUtility, SrcDestOverlap_End) {
|
|
std::array<std::uint8_t, 10> buffer{};
|
|
const auto end = buffer.data() + buffer.size();
|
|
ASSERT_TRUE(region_overlap(buffer.data(), buffer.size(), end - 1, 1));
|
|
}
|
|
|
|
TEST(BufferUtility, SrcDestOverlap_BeyondEnd) {
|
|
std::array<std::uint8_t, 10> buffer{};
|
|
const auto end = buffer.data() + buffer.size();
|
|
ASSERT_FALSE(region_overlap(buffer.data(), buffer.size(), end, 1));
|
|
}
|
|
|
|
TEST(BufferUtility, SrcDestOverlap_Between) {
|
|
std::array<std::uint8_t, 10> buffer{};
|
|
ASSERT_TRUE(region_overlap(buffer.data(), buffer.size(), buffer.data() + (buffer.size() - 5), 1));
|
|
}
|
|
|
|
TEST(BufferUtility, SrcDestOverlap_NoOverlap) {
|
|
std::array<std::uint8_t, 10> buffer{}, buffer2{};
|
|
ASSERT_FALSE(region_overlap(buffer.data(), buffer.size(), buffer2.data(), buffer2.size()));
|
|
} |