#include "pb_encode.h"
#include "pb_decode.h"

#include "test.h"

#include "pio_without_options.pb.h"

int main(int argc, char *argv[]) {

    int status = 0;

    uint8_t buffer[256];
    pb_ostream_t ostream;
    pb_istream_t istream;
    size_t written;

    TestMessageWithoutOptions original = TestMessageWithoutOptions_init_zero;
    original.number = 45;

    ostream = pb_ostream_from_buffer(buffer, sizeof(buffer));

    TEST(pb_encode(&ostream, &TestMessageWithoutOptions_msg, &original));

    written = ostream.bytes_written;

    istream = pb_istream_from_buffer(buffer, written);

    TestMessageWithoutOptions decoded = TestMessageWithoutOptions_init_zero;

    TEST(pb_decode(&istream, &TestMessageWithoutOptions_msg, &decoded));

    TEST(decoded.number == 45);

    return status;
}
