1 /*
2 * Copyright (c) 2014-2020 Pavel Kalvoda <[email protected]>
3 *
4 * libcbor is free software; you can redistribute it and/or modify
5 * it under the terms of the MIT license. See LICENSE for details.
6 */
7
8 #include "assertions.h"
9 #include "stream_expectations.h"
10
assert_uint8(cbor_item_t * item,uint8_t num)11 void assert_uint8(cbor_item_t* item, uint8_t num) {
12 assert_true(cbor_isa_uint(item));
13 assert_true(cbor_int_get_width(item) == CBOR_INT_8);
14 assert_true(cbor_get_uint8(item) == num);
15 }
16
assert_uint16(cbor_item_t * item,uint16_t num)17 void assert_uint16(cbor_item_t* item, uint16_t num) {
18 assert_true(cbor_isa_uint(item));
19 assert_true(cbor_int_get_width(item) == CBOR_INT_16);
20 assert_true(cbor_get_uint16(item) == num);
21 }
22
assert_uint32(cbor_item_t * item,uint32_t num)23 void assert_uint32(cbor_item_t* item, uint32_t num) {
24 assert_true(cbor_isa_uint(item));
25 assert_true(cbor_int_get_width(item) == CBOR_INT_32);
26 assert_true(cbor_get_uint32(item) == num);
27 }
28
assert_uint64(cbor_item_t * item,uint64_t num)29 void assert_uint64(cbor_item_t* item, uint64_t num) {
30 assert_true(cbor_isa_uint(item));
31 assert_true(cbor_int_get_width(item) == CBOR_INT_64);
32 assert_true(cbor_get_uint64(item) == num);
33 }
34
assert_decoder_result(size_t read,enum cbor_decoder_status status,struct cbor_decoder_result result)35 void assert_decoder_result(size_t read, enum cbor_decoder_status status,
36 struct cbor_decoder_result result) {
37 assert_true(read == result.read);
38 assert_true(status == result.status);
39 assert_true(0 == result.required);
40 }
41
assert_decoder_result_nedata(size_t required,struct cbor_decoder_result result)42 void assert_decoder_result_nedata(size_t required,
43 struct cbor_decoder_result result) {
44 assert_true(0 == result.read);
45 assert_true(CBOR_DECODER_NEDATA == result.status);
46 assert_int_equal((int)required, (int)result.required);
47 }
48
assert_minimum_input_size(size_t expected,cbor_data data)49 void assert_minimum_input_size(size_t expected, cbor_data data) {
50 for (size_t available = 1; available < expected; available++) {
51 assert_decoder_result_nedata(expected, decode(data, 1));
52 }
53 }
54