$search
00001 00009 /***************************************************************************** 00010 ** Includes 00011 *****************************************************************************/ 00012 00013 #include <gtest/gtest.h> 00014 #include "../../include/ecl/utilities/references.hpp" 00015 00020 /***************************************************************************** 00021 ** Classes 00022 *****************************************************************************/ 00023 00024 namespace ecl { 00025 namespace utilities { 00026 namespace tests { 00027 00028 class ReferenceDummy { 00029 public: 00030 int i; 00031 }; 00032 00033 }}} 00034 00035 /***************************************************************************** 00036 ** Using 00037 *****************************************************************************/ 00038 00039 using ecl::ReferenceWrapper; 00040 using ecl::cref; 00041 using ecl::ref; 00042 using ecl::is_reference_wrapper; 00043 using ecl::utilities::tests::ReferenceDummy; 00044 00045 /***************************************************************************** 00046 ** Tests 00047 *****************************************************************************/ 00048 00049 TEST(Reference,usage) { 00050 00051 int i = 3; 00052 ReferenceWrapper<int> wrapper(i); 00053 int &j = wrapper; 00054 EXPECT_EQ(j,3); 00055 } 00056 00057 TEST(Reference,traits) { 00058 EXPECT_TRUE(is_reference_wrapper< ReferenceWrapper<int> >::value); 00059 EXPECT_FALSE(is_reference_wrapper<int>::value); 00060 } 00061 00062 TEST(Reference,functions) { 00063 int i = 3; 00064 ReferenceWrapper<int> refd = ref(i); 00065 ReferenceWrapper<int const> crefd = cref(i); 00066 EXPECT_EQ(3,refd); 00067 EXPECT_EQ(3,crefd); 00068 } 00069 00070 /***************************************************************************** 00071 ** Main 00072 *****************************************************************************/ 00073 00074 int main(int argc, char **argv) { 00075 testing::InitGoogleTest(&argc,argv); 00076 return RUN_ALL_TESTS(); 00077 } 00078