#include <ableton/link_audio/ChannelRequests.hpp>
#include <ableton/platforms/stl/Random.hpp>
#include <ableton/test/CatchWrapper.hpp>
#include <vector>
namespace ableton
{
namespace link_audio
{
TEST_CASE("ChannelRequest | RoundtripByteStreamEncoding", "[ChannelRequests]")
{
using Random = ableton::platforms::stl::Random;
const auto request = ChannelRequest{Id::random<Random>(), Id::random<Random>()};
auto payload = toPayload(request);
std::vector<std::uint8_t> bytes(sizeInByteStream(payload));
const auto end = toNetworkByteStream(payload, begin(bytes));
const auto result = ChannelRequest::fromPayload(request.peerId, bytes.begin(), end);
CHECK(request == result);
}
TEST_CASE("ChannelStopRequest | RoundtripByteStreamEncoding", "[ChannelRequests]")
{
using Random = ableton::platforms::stl::Random;
const auto request = ChannelStopRequest{Id::random<Random>(), Id::random<Random>()};
auto payload = toPayload(request);
std::vector<std::uint8_t> bytes(sizeInByteStream(payload));
const auto end = toNetworkByteStream(payload, begin(bytes));
const auto result = ChannelStopRequest::fromPayload(request.peerId, bytes.begin(), end);
CHECK(request == result);
}
} }