references.cpp
Go to the documentation of this file.
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 


ecl_utilities
Author(s): Daniel Stonier
autogenerated on Sun Oct 5 2014 23:35:35