Skip to content

Commit

Permalink
Fix teste
Browse files Browse the repository at this point in the history
  • Loading branch information
luqasz committed Oct 19, 2023
1 parent 2cc3483 commit 8b601a9
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 34 deletions.
8 changes: 3 additions & 5 deletions include/buffer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,13 +110,11 @@ namespace buffer {
}

constexpr bool
operator==(const Span<T> & other) const
operator==(const Span<const T> & other) const
{
if (size() != other.size()) {
return false;
}
const usize limit = min(size(), other.size());
usize idx = 0;
while (idx < size()) {
while (idx < limit) {
if ((*this)[idx] != other[idx]) {
return false;
}
Expand Down
10 changes: 5 additions & 5 deletions tests/buffer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,25 @@ TEST_CASE("Span has valid size")

TEST_CASE("Span slice has valid size")
{
const u8 tbl[] = { 1, 2, 3, 4 };
const auto slice = buffer::Span(tbl).slice(1, 3);
const u8 tbl[] = { 1, 2, 3, 4 };
const auto slice = buffer::Span(tbl).span(1, 3);
REQUIRE(slice.size() == 3);
}

TEST_CASE("Circular buffer has valid len")
{
auto buf = buffer::Circular<u8, 8, u16>();
auto buf = buffer::Circular<u8, 8>();
buf.write(1);
buf.write(2);
REQUIRE(buf.len() == 2);
}

TEST_CASE("Copy span to circular")
{
auto buf = buffer::Circular<u8, 4, u16>();
auto buf = buffer::Circular<u8, 4>();
const u8 tbl[] = { 1, 2, 3, 4 };
buf.write(1);
buf.write(2);
const usize copied = copy(tbl, buf);
const usize copied = copy(buffer::Span(tbl), buf);
REQUIRE(copied == 2);
}
46 changes: 22 additions & 24 deletions tests/cobs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,35 @@

#include <cobs.hpp>

TEST_CASE("COBS encodes valid size")
TEST_CASE("COBS encoding")
{
const u8 input[] = { 1, 1, 1, 1 };
buffer::Array<u8, 6> output { 0 };
const auto size = cobs::encode(input, output);
REQUIRE(size == 6);
const u8 input[] = { 1, 1, 1, 1 };
buffer::Array<u8, 6> output { 22, 22, 22, 22, 22, 22 };
cobs::encode(input, output.span());
REQUIRE(output[0] == 5);
REQUIRE(output[1] == 1);
REQUIRE(output[2] == 1);
REQUIRE(output[3] == 1);
REQUIRE(output[4] == 1);
REQUIRE(output[5] == 0);
}

TEST_CASE("COBS ends with 0")
TEST_CASE("COBS decoding")
{
const u8 input[] = { 1, 1, 1, 1 };
buffer::Array<u8, 10> output { 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 };
const auto size = cobs::encode(input, output);
REQUIRE(output[size - 1] == 0);
}

TEST_CASE("COBS decodes to original")
{
const buffer::Array<u8, 4> input { 1, 1, 1, 1 };
buffer::Array<u8, 10> encoded {};
buffer::Array<u8, 10> decoded {};
cobs::encode(input, encoded);
cobs::decode(encoded, decoded);
REQUIRE(decoded.span(0, 4) == input);
const u8 input[] = { 5, 1, 1, 1, 1, 0 };
buffer::Array<u8, 4> output { 22, 22, 22, 22 };
cobs::decode(input, output.span());
REQUIRE(output[0] == 1);
REQUIRE(output[1] == 1);
REQUIRE(output[2] == 1);
REQUIRE(output[3] == 1);
}

TEST_CASE("COBS 255 long input")
{
constexpr u8 input[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 };
constexpr u8 expected[] = { 255, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 2, 255, 0 };
constexpr u8 input[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 };
constexpr u8 expected[] = { 255, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 2, 255, 0 };
buffer::Array<u8, 512> encoded {};
const usize size = cobs::encode(input, encoded);
REQUIRE(encoded.span(0, size) == expected);
const usize size = cobs::encode(input, encoded.span());
REQUIRE(encoded.span(0, size) == buffer::Span(expected));
}

0 comments on commit 8b601a9

Please sign in to comment.