diff --git a/test/test_bit_stream_writer_big_endian.cpp b/test/test_bit_stream_writer_big_endian.cpp index 675edbbb..429d1754 100644 --- a/test/test_bit_stream_writer_big_endian.cpp +++ b/test/test_bit_stream_writer_big_endian.cpp @@ -793,6 +793,27 @@ namespace CHECK_EQUAL((int)expected[10], (int)storage[10]); CHECK_EQUAL((int)expected[11], (int)storage[11]); } + + //************************************************************************* + TEST(test_full_empty_issue_1095_bit_stream_writer_empty_compares_the_wrong_values_to_determine_empty) + { + std::array storage; + + etl::bit_stream_writer bit_stream(storage.data(), storage.size(), etl::endian::big); + + CHECK_EQUAL(bit_stream.empty(), true); + CHECK_EQUAL(bit_stream.full(), false); + + bit_stream.write(int8_t(1)); + + CHECK_EQUAL(bit_stream.empty(), false); + CHECK_EQUAL(bit_stream.full(), false); + + bit_stream.write(int8_t(2)); + + CHECK_EQUAL(bit_stream.empty(), false); + CHECK_EQUAL(bit_stream.full(), true); + } }; } diff --git a/test/test_bit_stream_writer_little_endian.cpp b/test/test_bit_stream_writer_little_endian.cpp index 3051bc7f..56e47287 100644 --- a/test/test_bit_stream_writer_little_endian.cpp +++ b/test/test_bit_stream_writer_little_endian.cpp @@ -881,6 +881,27 @@ namespace CHECK_EQUAL((int)expected[10], (int)storage[10]); CHECK_EQUAL((int)expected[11], (int)storage[11]); } + + //************************************************************************* + TEST(test_full_empty_issue_1095_bit_stream_writer_empty_compares_the_wrong_values_to_determine_empty) + { + std::array storage; + + etl::bit_stream_writer bit_stream(storage.data(), storage.size(), etl::endian::little); + + CHECK_EQUAL(bit_stream.empty(), true); + CHECK_EQUAL(bit_stream.full(), false); + + bit_stream.write(int8_t(1)); + + CHECK_EQUAL(bit_stream.empty(), false); + CHECK_EQUAL(bit_stream.full(), false); + + bit_stream.write(int8_t(2)); + + CHECK_EQUAL(bit_stream.empty(), false); + CHECK_EQUAL(bit_stream.full(), true); + } }; }