Go to the documentation of this file.00001
00008
00009
00010
00011
00012 #include <iostream>
00013 #include <string>
00014 #include <gtest/gtest.h>
00015 #include "../../include/ecl/converters/to_byte_array.hpp"
00016 #include "../../include/ecl/converters/char.hpp"
00017 #include "../../include/ecl/converters/char_strings.hpp"
00018 #include "../../include/ecl/converters/string.hpp"
00019 #include "../../include/ecl/converters/integers.hpp"
00020
00021
00022
00023
00024
00025 using std::string;
00026 using ecl::Converter;
00027
00028
00029
00030
00031
00032 const bool debug_output = true;
00033
00034
00035
00036
00037
00038
00039 TEST(Converter,toChar) {
00040 Converter<char,unsigned int> uintToAscii;
00041 Converter<char,int> intToAscii;
00042 Converter<char> toAscii;
00043
00044 if(debug_output) {
00045 std::cout << "uintToAscii(8U): " << uintToAscii(8U) << std::endl;
00046 std::cout << "intToAscii(8): " << intToAscii(8) << std::endl;
00047 std::cout << "toAscii(8): " << toAscii(8) << std::endl;
00048 std::cout << "toAscii(8U): " << toAscii(8U) << std::endl;
00049 }
00050
00051 EXPECT_EQ('8',uintToAscii(8U));
00052 EXPECT_EQ('8',intToAscii(8));
00053 EXPECT_EQ('8',toAscii(8U));
00054 EXPECT_EQ('8',toAscii(8));
00055 }
00056
00057 TEST(Converter,toString) {
00058 Converter<string,int> intToString;
00059 if(debug_output) {
00060 std::cout << "intToString(123): " << intToString(123) << std::endl;
00061 std::cout << "intToString(-123): " << intToString(-123) << std::endl;
00062 }
00063 EXPECT_EQ(string("123"),intToString(123));
00064 EXPECT_EQ(string("-123"),intToString(-123));
00065 }
00066
00067 TEST(Converter,toInt) {
00068 Converter<int,void> toInt;
00069 if(debug_output) {
00070 std::cout << "toInt:" << std::endl;
00071 std::cout << " string -> " << toInt(string("123")) << std::endl;
00072
00073 std::cout << " char -> " << toInt('3') << std::endl;
00074 }
00075 EXPECT_EQ(123,toInt(string("123")));
00076
00077 EXPECT_EQ(3,toInt(char('3')));
00078 }
00079
00080 TEST(Converter,toCharString) {
00081
00082 Converter<char*> toCharString;
00083 char c = 'A';
00084 unsigned char uc = 'A';
00085 short s = -111;
00086 unsigned short us = 111;
00087 int i = -111;
00088 unsigned int ui = 111;
00089 long l = -111;
00090 unsigned long ul = 111;
00091 long long ll = -111111;
00092 unsigned long long ull = 11111111;
00093 float f = -321.23;
00094 double d = -321.23;
00095 char buffer[44];
00096 Converter<char*,float> floatToCharString(buffer, buffer+4);
00097
00098 if(debug_output) {
00099 std::cout << "toCharString:" << std::endl;
00100 std::cout << " char -> " << toCharString(c) << std::endl;
00101 std::cout << " unsigned char -> " << toCharString(uc) << std::endl;
00102 std::cout << " short -> " << toCharString(s) << std::endl;
00103 std::cout << " unsigned short-> " << toCharString(us) << std::endl;
00104 std::cout << " int -> " << toCharString(i) << std::endl;
00105 std::cout << " unsigned int -> " << toCharString(ui) << std::endl;
00106 std::cout << " long -> " << toCharString(l) << std::endl;
00107 std::cout << " unsigned long -> " << toCharString(ul) << std::endl;
00108 std::cout << " long long -> " << toCharString(ll) << std::endl;
00109 std::cout << " unsigned llong-> " << toCharString(ull) << std::endl;
00110 std::cout << " float -> " << toCharString(f) << std::endl;
00111 std::cout << " double -> " << toCharString(d) << std::endl;
00112 std::cout << " float(2) -> " << toCharString(f,2) << std::endl;
00113 std::cout << " double(2) -> " << toCharString(d,2) << std::endl;
00114 std::cout << " float (w/ buf)-> " << floatToCharString(f) << std::endl;
00115 }
00116 SUCCEED();
00117 }
00118
00119
00120
00121
00122
00123 int main(int argc, char **argv) {
00124 testing::InitGoogleTest(&argc,argv);
00125 return RUN_ALL_TESTS();
00126 }
00127