From 35a996490200126e72775398fa3d6daa0ec4f435 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Wed, 13 Nov 2024 00:01:06 +0100 Subject: Introduce byte, use span on io Writer --- asl/tests/span_tests.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'asl/tests/span_tests.cpp') diff --git a/asl/tests/span_tests.cpp b/asl/tests/span_tests.cpp index 3baaf5c..547ba16 100644 --- a/asl/tests/span_tests.cpp +++ b/asl/tests/span_tests.cpp @@ -423,3 +423,31 @@ ASL_TEST(last_dynamic) ASL_TEST_EXPECT(s3[2] == 3); ASL_TEST_EXPECT(s3[3] == 4); } + +template +concept HasAsMutableBytes = requires(asl::span s) +{ + asl::as_mutable_bytes(s); +}; + +static_assert(HasAsMutableBytes); +static_assert(!HasAsMutableBytes); +static_assert(!HasAsMutableBytes); +static_assert(HasAsMutableBytes); + +ASL_TEST(as_bytes) +{ + uint32_t data[] = {0x01020304, 0x05060708}; + asl::span s1(data); + asl::span s2 = asl::as_bytes(s1); + + ASL_TEST_ASSERT(s2.size() == 8); + ASL_TEST_ASSERT(static_cast(s2[0]) == 0x04); + ASL_TEST_ASSERT(static_cast(s2[1]) == 0x03); + ASL_TEST_ASSERT(static_cast(s2[2]) == 0x02); + ASL_TEST_ASSERT(static_cast(s2[3]) == 0x01); + ASL_TEST_ASSERT(static_cast(s2[4]) == 0x08); + ASL_TEST_ASSERT(static_cast(s2[5]) == 0x07); + ASL_TEST_ASSERT(static_cast(s2[6]) == 0x06); + ASL_TEST_ASSERT(static_cast(s2[7]) == 0x05); +} -- cgit