Line data Source code
1 : #include <pb_encode.h> 2 : #include <pb_decode.h> 3 : 4 : #include "mixed.pb.h" 5 : #include "unittests.h" 6 : 7 1 : int main() 8 : { 9 1 : int status = 0; 10 : pb_byte_t buf[64]; 11 : size_t msglen; 12 : 13 : { 14 1 : pb_ostream_t ostream = pb_ostream_from_buffer(buf, sizeof(buf)); 15 1 : MixedMessage msg = MixedMessage_init_default; 16 : 17 1 : msg.has_proto2_value = true; 18 1 : msg.proto2_value = 0; 19 1 : msg.proto3_value = 0; 20 : 21 1 : if (!pb_encode(&ostream, MixedMessage_fields, &msg)) 22 : { 23 0 : fprintf(stderr, "pb_encode() failed: %s\n", PB_GET_ERROR(&ostream)); 24 0 : return 1; 25 : } 26 : 27 1 : msglen = ostream.bytes_written; 28 1 : TEST(msglen > 0); 29 : } 30 : 31 : { 32 1 : pb_istream_t istream = pb_istream_from_buffer(buf, msglen); 33 1 : MixedMessage msg = MixedMessage_init_default; 34 : 35 1 : TEST(msg.proto2_value == 100); 36 1 : TEST(msg.proto3_value == 200); 37 : 38 1 : if (!pb_decode(&istream, MixedMessage_fields, &msg)) 39 : { 40 0 : fprintf(stderr, "pb_decode() failed: %s\n", PB_GET_ERROR(&istream)); 41 0 : return 1; 42 : } 43 : 44 1 : TEST(msg.proto2_value == 0); 45 1 : TEST(msg.proto3_value == 0); 46 : } 47 : 48 1 : return status; 49 : }