Go to the documentation of this file.00001
00009
00010
00011
00012
00013 #include <gtest/gtest.h>
00014 #include "../../include/ecl/utilities/parameter.hpp"
00015
00020
00021
00022
00023
00024 namespace ecl {
00025 namespace utilities {
00026 namespace tests {
00027
00028
00029 class ParameterTest {
00030 public:
00031 ParameterTest() : value(3) {};
00032 Parameter<int> value;
00033 };
00034
00035 }}}
00036
00037
00038
00039
00040
00041 using ecl::Parameter;
00042 using ecl::utilities::tests::ParameterTest;
00043
00044
00045
00046
00047
00048 TEST(Parameter,get) {
00049
00050 ParameterTest test;
00051 int i1 = test.value();
00052
00053 const int i3 = test.value();
00054 const int &i4 = test.value();
00055 EXPECT_EQ(3,i1);
00056 EXPECT_EQ(3,i3);
00057 EXPECT_EQ(3,i4);
00058 }
00059
00060 TEST(Parameter,set) {
00061
00062 ParameterTest test;
00063 int i1 = test.value();
00064 int i_tmp = 3;
00065 int &i2 = i_tmp;
00066 const int i3 = test.value();
00067 const int &i4 = test.value();
00068 test.value(3);
00069 EXPECT_EQ(3,test.value());
00070 test.value(i1);
00071 EXPECT_EQ(3,test.value());
00072 test.value(i2);
00073 EXPECT_EQ(3,test.value());
00074 test.value(i3);
00075 EXPECT_EQ(3,test.value());
00076 test.value(i4);
00077 EXPECT_EQ(3,test.value());
00078 }
00079
00080 TEST(Parameter,assign) {
00081
00082 ParameterTest test;
00083 int i1 = test.value();
00084 int i_tmp = 3;
00085 int &i2 = i_tmp;
00086 const int i3 = test.value();
00087 const int &i4 = test.value();
00088
00089 test.value = 3;
00090 EXPECT_EQ(3,test.value());
00091 test.value = i1;
00092 EXPECT_EQ(3,test.value());
00093 test.value = i2;
00094 EXPECT_EQ(3,test.value());
00095 test.value = i3;
00096 EXPECT_EQ(3,test.value());
00097 test.value = i4;
00098 EXPECT_EQ(3,test.value());
00099 }
00100
00101 TEST(Parameter,eval) {
00102
00103 ParameterTest test;
00104 int i1;
00105 i1 = test.value;
00106 EXPECT_EQ(3,i1);
00107
00108 const int &i5 = test.value;
00109 EXPECT_EQ(3,i5);
00110 const int i6 = test.value;
00111 EXPECT_EQ(3,i6);
00112 i1 = i5;
00113 EXPECT_EQ(3,i1);
00114 i1 = i6;
00115 EXPECT_EQ(3,i1);
00116 }
00117
00118
00119
00120
00121
00122 int main(int argc, char **argv) {
00123 testing::InitGoogleTest(&argc,argv);
00124 return RUN_ALL_TESTS();
00125 }