releasing version 0.9.5-1
[debian/mimetic.git] / test / t.composite.h
1 #ifndef _T_COMPOSITE_H_
2 #define _T_COMPOSITE_H_
3 #include <sstream>
4 #include <iterator>
5 #include <algorithm>
6 #include <string>
7 #include <cctype>
8 #include <mimetic/codec/codec.h>
9 #include "cutee.h"
10
11
12 namespace mimetic 
13 {
14
15 class TEST_CLASS( test_composite )
16 {
17     static const char* test[][2];
18     std::string uppercase(const std::string& s)
19     {
20         std::string r;
21         for(uint i=0;i<s.length();i++)
22             r+=toupper(s[i]);
23         return r;
24     }
25     std::string lowercase(const std::string& s)
26     {
27         std::string r;
28         for(uint i=0;i<s.length();i++)
29             r+=tolower(s[i]);
30         return r;
31     }
32 public:
33     void TEST_FUNCTION( testBase64ToUpperCase )
34     {
35         int i = 0;
36         while(test[i][0] != 0)
37         {
38             std::string src = test[i][0];
39             std::string exp = uppercase(test[i][1]);
40             std::string got;
41             Base64::Encoder base64;
42             ToUpperCase tuc;
43             encode(src.begin(), src.end(),
44                 base64 | tuc,
45                 std::back_inserter<std::string>(got));
46             TEST_ASSERT_EQUALS_P( exp, got);
47             i++;
48         }
49     }
50     void TEST_FUNCTION( testBase64ToLowerCase )
51     {
52         int i = 0;
53         while(test[i][0] != 0)
54         {
55             std::string src = test[i][0];
56             std::string exp = lowercase(test[i][1]);
57             std::string got;
58             Base64::Encoder base64;
59             ToLowerCase tlc;
60             encode(src.begin(), src.end(),
61                 base64 | tlc,
62                 std::back_inserter<std::string>(got));
63             TEST_ASSERT_EQUALS_P( exp, got);
64             i++;
65         }
66     }
67 };
68
69 }
70
71 #endif