A test how to use QSignalSpy with GMock
[ptas] / tests / ut_gmocktest / ut_gmocktest.cpp
index 5e416cb..e307bd6 100644 (file)
@@ -4,8 +4,10 @@
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
-using ::testing::AtLeast;
+#include <QSignalSpy>
+#include "../stlhelpers4qt.h"
 
+using ::testing::AtLeast;
 
 TEST(PainterTest, TestTurtlePenDownCalledAtLeastOnceWhenDrawCircleCalled)
 {
@@ -17,6 +19,20 @@ TEST(PainterTest, TestTurtlePenDownCalledAtLeastOnceWhenDrawCircleCalled)
     EXPECT_TRUE(painter.DrawCircle(0, 0, 10));
 }
 
+TEST(PainterTest, TestSignalEmittedWhenDrawCircleCalled)
+{
+    MockTurtle turtle;
+
+    Painter painter(&turtle);
+
+    QSignalSpy spy(&painter, SIGNAL(DrawCircleCalled(int,int,int)));
+
+    painter.DrawCircle(0, 0, 10);
+    ASSERT_EQ(1, spy.count());
+    QList<QVariant> expected = QList<QVariant>() << 0 << 0 << 10;
+    ASSERT_EQ(expected, spy.at(0));
+}
+
 int main(int argc, char *argv[])
 {
     ::testing::InitGoogleMock(&argc, argv);