mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-26 01:35:35 +03:00
Add some unit tests for bitarray
Just to make sure the upcoming changes don't break anything
This commit is contained in:
parent
3e823d9ab8
commit
1dbe90ba1e
2 changed files with 49 additions and 0 deletions
|
@ -706,6 +706,20 @@ $(OBJECT_DIR)/time_unittest : \
|
|||
|
||||
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
|
||||
|
||||
$(OBJECT_DIR)/bitarray_unittest.o : \
|
||||
$(TEST_DIR)/bitarray_unittest.cc \
|
||||
$(USER_DIR)/common/bitarray.h \
|
||||
$(GTEST_HEADERS)
|
||||
|
||||
@mkdir -p $(dir $@)
|
||||
$(CXX) $(CXX_FLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/bitarray_unittest.cc -o $@
|
||||
|
||||
$(OBJECT_DIR)/bitarray_unittest : \
|
||||
$(OBJECT_DIR)/common/bitarray.o \
|
||||
$(OBJECT_DIR)/bitarray_unittest.o \
|
||||
$(OBJECT_DIR)/gtest_main.a
|
||||
|
||||
$(CXX) $(CXX_FLAGS) $^ -o $(OBJECT_DIR)/$@
|
||||
|
||||
|
||||
test: $(TESTS:%=test-%)
|
||||
|
|
35
src/test/unit/bitarray_unittest.cc
Normal file
35
src/test/unit/bitarray_unittest.cc
Normal file
|
@ -0,0 +1,35 @@
|
|||
#include <cstdint>
|
||||
|
||||
extern "C" {
|
||||
#include "common/bitarray.h"
|
||||
}
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
TEST(BitArrayTest, TestGetSet)
|
||||
{
|
||||
uint32_t array[1] = {0};
|
||||
void *p = array;
|
||||
|
||||
bitArraySet(p, 14);
|
||||
EXPECT_EQ(bitArrayGet(p, 14), true);
|
||||
EXPECT_EQ(bitArrayGet(p, 13), false);
|
||||
EXPECT_EQ(bitArrayGet(p, 15), false);
|
||||
|
||||
EXPECT_EQ(bitArrayGet(p, 0), false);
|
||||
bitArraySet(p, 0);
|
||||
EXPECT_EQ(bitArrayGet(p, 0), true);
|
||||
}
|
||||
|
||||
TEST(BitArrayTest, TestClr)
|
||||
{
|
||||
uint32_t array[1] = {0};
|
||||
void *p = array;
|
||||
|
||||
bitArraySet(p, 31);
|
||||
EXPECT_EQ(bitArrayGet(p, 31), true);
|
||||
EXPECT_EQ(bitArrayGet(p, 30), false);
|
||||
EXPECT_EQ(bitArrayGet(p, 0), false);
|
||||
bitArrayClr(p, 31);
|
||||
EXPECT_EQ(bitArrayGet(p, 31), false);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue