#include "axl_koan.h" #include "axl_memory.h" #include "axl_types.h" #include "axl_vlq.h" KOAN(vlq_basic_encode_decode) { u32 expected[] = {0, 126, 129, 256, 65535, 70000, 9999999, U32_MAX}; u32 expected_len[] = {1, 1, 2, 2, 3, 3, 4, 5 }; u8 encoded[AXL_VLQ_MAX_LEN]; for(u32 i = 0; i < sizeof(expected) / sizeof(expected[0]); i++) { u32 encoded_len = axl_vlq_encode(expected[i], encoded); u32 decoded = 0; u32 decoded_len = axl_vlq_decode(encoded, &decoded); ASSERT_UINT_EQ(expected_len[i], encoded_len); ASSERT_UINT_EQ(expected_len[i], decoded_len); ASSERT_UINT_EQ(expected[i], decoded); } } int main(void) { axl_init(); return koan_run_all(); }