Пример #1
0
void test_empty()
{
  TransportReassembly tr;
  Gaps gaps;
  SequenceNumber seq(1);
  RepoId pub_id = create_pub_id();
  TEST_ASSERT(!tr.has_frags(seq, pub_id));
  TEST_ASSERT(0 == gaps.get(tr, seq, pub_id));
}
Пример #2
0
void test_insert_has_frag()
{
  TransportReassembly tr;
  Gaps gaps;
  SequenceNumber msg_seq(4);
  SequenceNumber frag_seq(1);
  RepoId pub_id = create_pub_id();
  Sample data(pub_id, msg_seq);
  tr.reassemble(frag_seq, true, data.sample);
  TEST_ASSERT(tr.has_frags(msg_seq, pub_id));
}
Пример #3
0
void test_first_insert_has_no_gaps()
{
  TransportReassembly tr;
  Gaps gaps;
  SequenceNumber msg_seq(18);
  SequenceNumber frag_seq(1);
  RepoId pub_id = create_pub_id();
  Sample data(pub_id, msg_seq);

  TEST_ASSERT(!tr.reassemble(frag_seq, true, data.sample));
  CORBA::ULong base = gaps.get(tr, msg_seq, pub_id);

  TEST_ASSERT(tr.has_frags(msg_seq, pub_id));
  TEST_ASSERT(2 == base);             // Now expecting 2
  TEST_ASSERT(1 == gaps.result_bits); // Only one bit
  TEST_ASSERT(gaps.check_gap(2));     // Gap
  TEST_ASSERT(!gaps.check_gap(3));    // No gap
}