TEST(sml_tree_path, write) { sml_tree_path *t = sml_tree_path_init(); sml_tree_path_add_path_entry(t, sml_octet_string_init((unsigned char *)"Hallo", 5)); sml_tree_path_add_path_entry(t, sml_octet_string_init((unsigned char *)"Hallo", 5)); sml_tree_path_write(t, buf); expected_buf(buf, "720648616C6C6F0648616C6C6F", 13); }
TEST(sml_tree, write) { sml_tree *t = sml_tree_init(); t->parameter_name = sml_octet_string_init((unsigned char *)"Hallo", 5); sml_tree_write(t, buf); expected_buf(buf, "730648616C6C6F0101", 9); sml_tree_free( t ); }
TEST(sml_value, write_boolean) { sml_value *v = sml_value_init(); v->type = SML_TYPE_BOOLEAN; v->data.boolean = sml_boolean_init(SML_BOOLEAN_FALSE); sml_value_write(v, buf); expected_buf(buf, "4200", 2); }
TEST(sml_value, write_octet_string) { sml_value *v = sml_value_init(); v->type = SML_TYPE_OCTET_STRING; v->data.bytes = sml_octet_string_init((unsigned char *)"Hallo", 5); sml_value_write(v, buf); expected_buf(buf, "0648616C6C6F", 6); }
TEST(sml_value, write_integer16) { sml_value *v = sml_value_init(); v->type = SML_TYPE_INTEGER | SML_TYPE_NUMBER_16; v->data.int16 = sml_i16_init(-5); sml_value_write(v, buf); expected_buf(buf, "53FFFB", 3); }
TEST(sml_value, write_unsigned32) { sml_value *v = sml_value_init(); v->type = SML_TYPE_UNSIGNED | SML_TYPE_NUMBER_32; v->data.uint32 = sml_u32_init(42); sml_value_write(v, buf); expected_buf(buf, "650000002A", 5); }
TEST(sml_sequence, write_octet_string) { sml_sequence *seq = sml_sequence_init((void (*)(void *))&sml_octet_string_free); sml_sequence_add(seq, sml_octet_string_init((unsigned char *)"Hallo", 5)); sml_sequence_add(seq, sml_octet_string_init((unsigned char *)"Hallo", 5)); sml_sequence_write(seq, buf, (void (*)(void *, sml_buffer *))&sml_octet_string_write); expected_buf(buf, "720648616C6C6F0648616C6C6F", 13); }
TEST(sml_status, write_status32) { sml_status *s = sml_status_init(); s->type = SML_TYPE_UNSIGNED | SML_TYPE_NUMBER_32; s->data.status32 = sml_u32_init(42); sml_status_write(s, buf); expected_buf(buf, "650000002A", 5); }
TEST(sml_proc_par_value, write_time) { sml_proc_par_value *ppv = sml_proc_par_value_init(); ppv->tag = sml_u8_init(SML_PROC_PAR_VALUE_TAG_TIME); sml_time *t = sml_time_init(); t->data.sec_index = sml_u32_init(255); t->tag = sml_u8_init(SML_TIME_SEC_INDEX); ppv->data.time = t; sml_proc_par_value_write(ppv, buf); expected_buf(buf, "72620472620165000000FF", 11); }
TEST(sml_list, write_one_entry) { sml_list *l = sml_list_init(); l->obj_name = sml_octet_string_init((unsigned char *)"Hallo", 5); l->value = sml_value_init(); l->value->type = SML_TYPE_OCTET_STRING; l->value->data.bytes = sml_octet_string_init((unsigned char *)"Hallo", 5); sml_list_write(l, buf); expected_buf(buf, "71770648616C6C6F010101010648616C6C6F01", 19); }
TEST(sml_value, write_optional) { sml_value_write(0, buf); expected_buf(buf, "01", 1); }
TEST(sml_status, write_optional) { sml_status_write(0, buf); expected_buf(buf, "01", 1); }
TEST(sml_number, write_integer8_optional) { sml_i8_write(0, buf); expected_buf(buf, "01", 1); }
TEST(sml_number, write_integer32) { i32 *n = sml_i32_init(-5000); sml_i32_write(n, buf); expected_buf(buf, "55FFFFEC78", 5); sml_i32_free( n ); }
TEST(sml_number, write_unsigned8) { u8 *n = sml_u8_init(1); sml_u8_write(n, buf); expected_buf(buf, "6201", 2); sml_u8_free( n ); }
TEST(sml_list, write_optional) { sml_list_write(0, buf); expected_buf(buf, "01", 1); }