Skip to content

Commit b97c80e

Browse files
committed
Added tests for the deserializing of new push_rand and set_seed directives
1 parent 933e857 commit b97c80e

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

Svc/FpySequencer/test/ut/FpySequencerTestMain.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2979,6 +2979,46 @@ TEST_F(FpySequencerTester, deserialize_stackCmd) {
29792979
ASSERT_EVENTS_DirectiveDeserializeError_SIZE(1);
29802980
}
29812981

2982+
TEST_F(FpySequencerTester, deserialize_setSeed) {
2983+
FpySequencer::DirectiveUnion actual;
2984+
FpySequencer_SetSeedDirective dir;
2985+
add_SET_SEED();
2986+
Fw::Success result = tester_deserializeDirective(seq.get_statements()[0], actual);
2987+
ASSERT_EQ(result, Fw::Success::SUCCESS);
2988+
ASSERT_EQ(actual.setSeed, dir);
2989+
// write some junk after buf, make sure it fails
2990+
seq.get_statements()[0].get_argBuf().serializeFrom(123);
2991+
result = tester_deserializeDirective(seq.get_statements()[0], actual);
2992+
ASSERT_EQ(result, Fw::Success::FAILURE);
2993+
ASSERT_EVENTS_DirectiveDeserializeError_SIZE(1);
2994+
this->clearHistory();
2995+
// clear args, make sure it succeeds
2996+
seq.get_statements()[0].get_argBuf().resetSer();
2997+
result = tester_deserializeDirective(seq.get_statements()[0], actual);
2998+
ASSERT_EQ(result, Fw::Success::SUCCESS);
2999+
ASSERT_EVENTS_DirectiveDeserializeError_SIZE(0);
3000+
}
3001+
3002+
TEST_F(FpySequencerTester, deserialize_pushRand) {
3003+
FpySequencer::DirectiveUnion actual;
3004+
FpySequencer_PushRandDirective dir;
3005+
add_PUSH_RAND();
3006+
Fw::Success result = tester_deserializeDirective(seq.get_statements()[0], actual);
3007+
ASSERT_EQ(result, Fw::Success::SUCCESS);
3008+
ASSERT_EQ(actual.pushRand, dir);
3009+
// write some junk after buf, make sure it fails
3010+
seq.get_statements()[0].get_argBuf().serializeFrom(123);
3011+
result = tester_deserializeDirective(seq.get_statements()[0], actual);
3012+
ASSERT_EQ(result, Fw::Success::FAILURE);
3013+
ASSERT_EVENTS_DirectiveDeserializeError_SIZE(1);
3014+
this->clearHistory();
3015+
// clear args, make sure it succeeds
3016+
seq.get_statements()[0].get_argBuf().resetSer();
3017+
result = tester_deserializeDirective(seq.get_statements()[0], actual);
3018+
ASSERT_EQ(result, Fw::Success::SUCCESS);
3019+
ASSERT_EVENTS_DirectiveDeserializeError_SIZE(0);
3020+
}
3021+
29823022
TEST_F(FpySequencerTester, deserialize_memCmp) {
29833023
FpySequencer::DirectiveUnion actual;
29843024
FpySequencer_MemCmpDirective dir(123);

0 commit comments

Comments
 (0)