mirror of
https://github.com/meekrosoft/fff
synced 2026-01-23 08:25:59 +01:00
Adding return value sequences
This commit is contained in:
@@ -208,6 +208,38 @@ TEST_F(FFFTestSuite, calling_fake_registers_one_call)
|
||||
ASSERT_EQ(call_history[0], (void *)longfunc0);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(FFFTestSuite, return_value_sequences_not_exhausted)
|
||||
{
|
||||
long myReturnVals[3] = { 3, 7, 9 };
|
||||
SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
|
||||
ASSERT_EQ(myReturnVals[0], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[1], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
}
|
||||
|
||||
TEST_F(FFFTestSuite, return_value_sequences_exhausted)
|
||||
{
|
||||
long myReturnVals[3] = { 3, 7, 9 };
|
||||
SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
|
||||
ASSERT_EQ(myReturnVals[0], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[1], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
}
|
||||
|
||||
TEST_F(FFFTestSuite, return_value_sequences_reset)
|
||||
{
|
||||
long myReturnVals[3] = { 3, 7, 9 };
|
||||
SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
|
||||
ASSERT_EQ(myReturnVals[0], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[1], longfunc0());
|
||||
RESET_FAKE(longfunc0);
|
||||
ASSERT_EQ(0, longfunc0());
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
setbuf(stdout, NULL);
|
||||
@@ -242,6 +274,9 @@ int main()
|
||||
RUN_TEST(FFFTestSuite, call_history_will_not_write_past_array_bounds);
|
||||
RUN_TEST(FFFTestSuite, calling_fake_registers_one_call);
|
||||
|
||||
RUN_TEST(FFFTestSuite, return_value_sequences_not_exhausted);
|
||||
RUN_TEST(FFFTestSuite, return_value_sequences_exhausted);
|
||||
|
||||
printf("\n-------------\n");
|
||||
printf("Complete\n");
|
||||
printf("-------------\n\n");
|
||||
|
||||
@@ -195,3 +195,35 @@ TEST_F(FFFTestSuite, calling_fake_registers_one_call)
|
||||
ASSERT_EQ(call_history_idx, 1u);
|
||||
ASSERT_EQ(call_history[0], (void *)longfunc0);
|
||||
}
|
||||
|
||||
TEST_F(FFFTestSuite, return_value_sequences_not_exhausted)
|
||||
{
|
||||
long myReturnVals[3] = { 3, 7, 9 };
|
||||
SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
|
||||
ASSERT_EQ(myReturnVals[0], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[1], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
}
|
||||
|
||||
|
||||
TEST_F(FFFTestSuite, return_value_sequences_exhausted)
|
||||
{
|
||||
long myReturnVals[3] = { 3, 7, 9 };
|
||||
SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
|
||||
ASSERT_EQ(myReturnVals[0], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[1], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[2], longfunc0());
|
||||
}
|
||||
|
||||
TEST_F(FFFTestSuite, return_value_sequences_reset)
|
||||
{
|
||||
long myReturnVals[3] = { 3, 7, 9 };
|
||||
SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
|
||||
ASSERT_EQ(myReturnVals[0], longfunc0());
|
||||
ASSERT_EQ(myReturnVals[1], longfunc0());
|
||||
RESET_FAKE(longfunc0);
|
||||
ASSERT_EQ(0, longfunc0());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user