Exemple #1
0
TEST publish_int32_neg()
{
  TM_state state;
  uint16_t i;
  for(i = 0 ; i < OUTGOING_BUFFER_SIZE ; i++)
  {
    endBuffer[i] = 0;
    state.rcvTopic[i] = 0;
  }
  sizeWritten = 0;
  sizeRead = 0;
  state.rcvInt32 = 0;
  state.called = 0;

  TM_transport transport;
  transport.read = read_int;
  transport.write = write_int;
  transport.readable = readable_int;
  transport.writeable = writeable_int;

  char topic[] = "topic";
  int32_t value = -2147483647;

  init_telemetry(&transport);

  subscribe(callback_int,&state);

  publish_i32(topic, value);

  update_telemetry(0);

  ASSERT_EQ(state.called, 1);
  ASSERT_STR_EQ(topic,state.rcvTopic);
  ASSERT_EQ_FMT(value,state.rcvInt32,"%d");

  PASS();
}
void Telemetry::pub_i32(const char * topic, int32_t msg)
{
    publish_i32(topic,msg);
}