NerfUS mobile node that manages a target for the Nerf gun firing range
Dependencies: LedController mbed-rtos mbed NerfUSXbee Servomotor TargetManager
Fork of NerfUS by
GoogleMockTest.cpp
00001 #include "gmock/gmock.h" 00002 #include "gtest/gtest.h" 00003 00004 class Adder 00005 { 00006 public: 00007 virtual ~Adder() {} 00008 virtual int add(int a, int b) 00009 { 00010 return a + b; 00011 } 00012 virtual int add_array(int some_array[8], int count) 00013 { 00014 int sum = 0; 00015 for(int i=0; i<count; i++) 00016 { 00017 sum += some_array[i]; 00018 } 00019 return sum; 00020 } 00021 virtual int add_vector(std::vector<int> some_vector) 00022 { 00023 int sum = 0; 00024 for(int i=0; i<some_vector.size(); i++) 00025 { 00026 sum += some_vector[i]; 00027 } 00028 return sum; 00029 } 00030 }; 00031 00032 class MockAdder : public Adder 00033 { 00034 public: 00035 MOCK_METHOD2(add, int(int a, int b)); 00036 MOCK_METHOD2(add_array, int(int some_array[8], int count)); 00037 MOCK_METHOD1(add_vector, int(std::vector<int> some_vector)); 00038 }; 00039 00040 TEST(GoogleMockTest, ExpectCalled) 00041 { 00042 MockAdder adder; 00043 00044 EXPECT_CALL(adder, add(1, 2)); 00045 00046 adder.add(1, 2); 00047 } 00048 00049 TEST(GoogleMockTest, DefineReturnedValue) 00050 { 00051 using ::testing::Return; 00052 MockAdder adder; 00053 00054 EXPECT_CALL(adder, add(1, 2)) 00055 .WillOnce(Return(42)); 00056 00057 ASSERT_EQ(42, adder.add(1, 2)); 00058 } 00059 00060 int expected_array[8] = {1,2,3,4,5,6,7,8}; 00061 TEST(GoogleMockTest, AssertCalledWithArrayPointer) 00062 { 00063 MockAdder adder; 00064 00065 EXPECT_CALL(adder, add_array(expected_array, 8)) 00066 .WillOnce(::testing::Return(36)); 00067 00068 adder.add_array(expected_array, 8); 00069 } 00070 00071 TEST(GoogleMockTest, UseMatcherOnMethodParameter) 00072 { 00073 MockAdder adder; 00074 00075 std::vector<int> expected_vector; 00076 expected_vector.push_back(1); 00077 expected_vector.push_back(2); 00078 expected_vector.push_back(3); 00079 00080 std::vector<int> some_vector; 00081 some_vector.push_back(1); 00082 some_vector.push_back(2); 00083 some_vector.push_back(3); 00084 00085 EXPECT_CALL(adder, add_vector(::testing::ContainerEq(expected_vector))) 00086 .WillOnce(::testing::Return(6)); 00087 00088 adder.add_vector(some_vector); 00089 } 00090 00091 TEST(GoogleMockTest, UseMatcherOnArrayPointerPointedContent) 00092 { 00093 MockAdder adder; 00094 00095 int expected_array[8] = {1,2,3,4,5,6,7,8}; 00096 00097 EXPECT_CALL(adder, add_array(::testing::_, 8)) 00098 .With(::testing::Args<0,1>(::testing::ContainerEq(expected_array))) 00099 .WillOnce(::testing::Return(36)); 00100 00101 int actual_array[8] = {1,2,3,4,5,6,7,8}; 00102 adder.add_array(actual_array, 8); 00103 }
Generated on Thu Jul 14 2022 01:50:38 by
1.7.2
