1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-25 01:05:21 +03:00

Add some unit tests for bitarray

Just to make sure the upcoming changes don't break anything
This commit is contained in:
Alberto García Hierro 2017-09-14 20:59:44 +01:00
parent 3e823d9ab8
commit 1dbe90ba1e
2 changed files with 49 additions and 0 deletions

View 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);
}