Add unit tests for RewindableObject Get and GetPrevious

Signed-off-by: puvvadar <puvvadar@amazon.com>
This commit is contained in:
puvvadar
2021-09-17 15:41:54 -07:00
parent bc8ccde318
commit 3e8fe7df39
@@ -57,6 +57,35 @@ namespace UnitTest
}
}
TEST_F(RewindableObjectTests, CurrentPreviousTests)
{
Multiplayer::RewindableObject<uint32_t, RewindableBufferFrames> test(0);
for (uint32_t i = 0; i < RewindableBufferFrames; ++i)
{
test = i;
EXPECT_EQ(i, test);
Multiplayer::GetNetworkTime()->IncrementHostFrameId();
}
{
// Test that Get/GetPrevious return different value when not on the owning connection
Multiplayer::ScopedAlterTime time(static_cast<Multiplayer::HostFrameId>(RewindableBufferFrames - 1), AZ::TimeMs{ 0 }, 1.f, AzNetworking::InvalidConnectionId);
EXPECT_EQ(RewindableBufferFrames - 1, test.Get());
EXPECT_EQ(RewindableBufferFrames - 2, test.GetPrevious());
}
// Test that Get/GetPrevious return the unaltered frame on the owning conection
Multiplayer::GetNetworkTime()->AlterTime(static_cast<Multiplayer::HostFrameId>(RewindableBufferFrames - 1), AZ::TimeMs{ 0 }, 1.f, AzNetworking::ConnectionId(0));
{
Multiplayer::ScopedAlterTime time(static_cast<Multiplayer::HostFrameId>(RewindableBufferFrames - 1), AZ::TimeMs{ 0 }, 1.f, AzNetworking::ConnectionId(0));
test.SetOwningConnectionId(AzNetworking::ConnectionId(0));
EXPECT_EQ(RewindableBufferFrames - 1, test.Get());
EXPECT_EQ(RewindableBufferFrames - 1, test.GetPrevious());
}
Multiplayer::GetNetworkTime()->AlterTime(static_cast<Multiplayer::HostFrameId>(RewindableBufferFrames), AZ::TimeMs(0), 1.f, AzNetworking::InvalidConnectionId);
}
TEST_F(RewindableObjectTests, OverflowTests)
{
Multiplayer::RewindableObject<uint32_t, RewindableBufferFrames> test(0);