Index: src/libchcore/Tests/TestsTSimpleTimer.cpp =================================================================== diff -u -N -r4fe995b304ea342b50293f92d3c1992b43b820f7 -ra4635addad389b9e117679437a3e1b64a739ea96 --- src/libchcore/Tests/TestsTSimpleTimer.cpp (.../TestsTSimpleTimer.cpp) (revision 4fe995b304ea342b50293f92d3c1992b43b820f7) +++ src/libchcore/Tests/TestsTSimpleTimer.cpp (.../TestsTSimpleTimer.cpp) (revision a4635addad389b9e117679437a3e1b64a739ea96) @@ -1,90 +1,90 @@ -#include "stdafx.h" -#include "gtest/gtest.h" -#include "gmock/gmock.h" -#include "../TSimpleTimer.h" -#include "../ITimestampProvider.h" - -class ITimestampProviderMock : public chcore::ITimestampProvider -{ -public: - MOCK_CONST_METHOD0(GetCurrentTimestamp, unsigned long long()); -}; - -using namespace testing; -using namespace chcore; - -TEST(TSimpleTimerTests, SimpleStartStop_CalculatesTimeProperly) -{ - std::shared_ptr > spTimestampProviderMock(new StrictMock); - - EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) - .WillOnce(Return(30)) - .WillOnce(Return(100)); - - TSimpleTimer tTimer(false, spTimestampProviderMock); - tTimer.Start(); - EXPECT_EQ(70, tTimer.Stop()); - EXPECT_EQ(70, tTimer.GetTotalTime()); - EXPECT_EQ(100, tTimer.GetLastTimestamp()); -} - -TEST(TSimpleTimerTests, TickWithoutStarting_UpdatesLastTimestamp) -{ - std::shared_ptr > spTimestampProviderMock(new StrictMock); - - EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) - .WillOnce(Return(30)); - - TSimpleTimer tTimer(false, spTimestampProviderMock); - tTimer.Tick(); - EXPECT_EQ(30, tTimer.GetLastTimestamp()); -} - -TEST(TSimpleTimerTests, StartAndTicking_CorrectlyCountsTime) -{ - std::shared_ptr > spTimestampProviderMock(new StrictMock); - - EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) - .WillOnce(Return(30)) - .WillOnce(Return(40)) - .WillOnce(Return(990)); - - TSimpleTimer tTimer(false, spTimestampProviderMock); - tTimer.Start(); - tTimer.Tick(); - EXPECT_EQ(10, tTimer.GetTotalTime()); - tTimer.Tick(); - EXPECT_EQ((990 - 30), tTimer.GetTotalTime()); -} - -TEST(TSimpleTimerTests, StartAndTicking_TickReturnsLastTimestamp) -{ - std::shared_ptr > spTimestampProviderMock(new StrictMock); - - EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) - .WillOnce(Return(30)) - .WillOnce(Return(40)) - .WillOnce(Return(990)); - - TSimpleTimer tTimer(false, spTimestampProviderMock); - tTimer.Start(); - EXPECT_EQ(40, tTimer.Tick()); - EXPECT_EQ(990, tTimer.Tick()); -} - -TEST(TSimpleTimerTests, Reset_StopsTimeCountingAndResetsTime) -{ - std::shared_ptr > spTimestampProviderMock(new StrictMock); - - EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) - .WillOnce(Return(30)) - .WillOnce(Return(40)); - - TSimpleTimer tTimer(false, spTimestampProviderMock); - tTimer.Start(); - tTimer.Tick(); - - tTimer.Reset(); - EXPECT_EQ(tTimer.GetTotalTime(), 0); - EXPECT_EQ(tTimer.GetLastTimestamp(), 0); -} +#include "stdafx.h" +#include "gtest/gtest.h" +#include "gmock/gmock.h" +#include "../TSimpleTimer.h" +#include "../ITimestampProvider.h" + +class ITimestampProviderMock : public chcore::ITimestampProvider +{ +public: + MOCK_CONST_METHOD0(GetCurrentTimestamp, unsigned long long()); +}; + +using namespace testing; +using namespace chcore; + +TEST(TSimpleTimerTests, SimpleStartStop_CalculatesTimeProperly) +{ + std::shared_ptr > spTimestampProviderMock(new StrictMock); + + EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) + .WillOnce(Return(30)) + .WillOnce(Return(100)); + + TSimpleTimer tTimer(false, spTimestampProviderMock); + tTimer.Start(); + EXPECT_EQ(70, tTimer.Stop()); + EXPECT_EQ(70, tTimer.GetTotalTime()); + EXPECT_EQ(100, tTimer.GetLastTimestamp()); +} + +TEST(TSimpleTimerTests, TickWithoutStarting_UpdatesLastTimestamp) +{ + std::shared_ptr > spTimestampProviderMock(new StrictMock); + + EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) + .WillOnce(Return(30)); + + TSimpleTimer tTimer(false, spTimestampProviderMock); + tTimer.Tick(); + EXPECT_EQ(30, tTimer.GetLastTimestamp()); +} + +TEST(TSimpleTimerTests, StartAndTicking_CorrectlyCountsTime) +{ + std::shared_ptr > spTimestampProviderMock(new StrictMock); + + EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) + .WillOnce(Return(30)) + .WillOnce(Return(40)) + .WillOnce(Return(990)); + + TSimpleTimer tTimer(false, spTimestampProviderMock); + tTimer.Start(); + tTimer.Tick(); + EXPECT_EQ(10, tTimer.GetTotalTime()); + tTimer.Tick(); + EXPECT_EQ((990 - 30), tTimer.GetTotalTime()); +} + +TEST(TSimpleTimerTests, StartAndTicking_TickReturnsLastTimestamp) +{ + std::shared_ptr > spTimestampProviderMock(new StrictMock); + + EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) + .WillOnce(Return(30)) + .WillOnce(Return(40)) + .WillOnce(Return(990)); + + TSimpleTimer tTimer(false, spTimestampProviderMock); + tTimer.Start(); + EXPECT_EQ(40, tTimer.Tick()); + EXPECT_EQ(990, tTimer.Tick()); +} + +TEST(TSimpleTimerTests, Reset_StopsTimeCountingAndResetsTime) +{ + std::shared_ptr > spTimestampProviderMock(new StrictMock); + + EXPECT_CALL(*spTimestampProviderMock, GetCurrentTimestamp()) + .WillOnce(Return(30)) + .WillOnce(Return(40)); + + TSimpleTimer tTimer(false, spTimestampProviderMock); + tTimer.Start(); + tTimer.Tick(); + + tTimer.Reset(); + EXPECT_EQ(tTimer.GetTotalTime(), 0); + EXPECT_EQ(tTimer.GetLastTimestamp(), 0); +}