1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #include "pch.h"
- #include <Base64.h>
- #include <Text.h>
- #include "CppUnitTest.h"
- using namespace Microsoft::VisualStudio::CppUnitTestFramework;
- // test class for base64 encoding and decoding
- namespace FrameworkTests
- {
- TEST_CLASS (Base64Tests)
- {
- public:
- TEST_METHOD (TestEncoding)
- {
- const char* data = "Hello World!";
- const char* encoded = "SGVsbG8gV29ybGQh";
- Framework::Text encodedData
- = Framework::base64Encode(data, Framework::textLength(data));
- Assert::AreEqual(encoded, encodedData.getText());
- }
- TEST_METHOD (TestDecoding)
- {
- const char* data = "SGVsbG8gV29ybGQh";
- const char* decoded = "Hello World!";
- char* decodedData = 0;
- int decodecLength;
- Framework::base64Decode(data, &decodedData, &decodecLength);
- Assert::AreEqual(decoded, decodedData);
- delete[] decodedData;
- }
- TEST_METHOD (TestDecodingInvalid)
- {
- const char* data = "SGVsbG8.gVd29ybGQh";
- char* decodedData = 0;
- int decodecLength;
- Framework::base64Decode(data, &decodedData, &decodecLength);
- Assert::AreEqual(0, decodecLength);
- delete[] decodedData;
- }
- TEST_METHOD (TestDecodeAndEncode)
- {
- const char* data
- = "g0OLN0EJepEiT8eiNdvb9PfJkIqSpiLqb3uvRwyg2Y7iZsQkbkC1kI99M8Na"
- "ELhT2Erca/"
- "D+VmB6B6aFpoAViuXZrlQaZeSo4RhtPScmjwFwbGtha8DA5Mdna2/"
- "ngPjOWqgkdA4JHe8hiS1Ir7tIICmygZR0Qnk8qeSrkWWlYL5OhDRcjFBMrNl"
- "584o1Pape7izxZG1soBdRTKi28Ap2QI2pmxr55sbTYbtelfcK8+"
- "c15UyiUuy4ozliWitr0Gr3egYAE3Ts2UlOlafjjbDXdeS+"
- "wYcRrkGz56IPEw/"
- "efQgAAAAAWYMbzXDzF76JvaIYb3uNVDpQ20v9Hf3mvw75zet31Ub57xRr4ys"
- "qbujMhVhIFKuCY4jMYqTLSWXYRDTFuwoMtfggIt1KS0w0GdGLYOQ44ki/"
- "r6lle/LJVDf9GvEIAAAAACaoAgBFyt6PFyzCL/"
- "xPj+GGcipGItOqncd18f1zDfB7Mpp9d2VcCAAAAAB7h8qphRo5Z5+"
- "rkeXNZZFrLQdeLHpqHvWct3MUHc8cmFjlQ9z+"
- "fESeKNSF9TsXYWgev5OYKrCOxmgDAAAAANmF0fUfK9thCADVAQDa3Ex6BgAi"
- "/vpcF13DNB1Yy0cJWw5xXef2MN0XWrl3YpVVrRFbzhFWLCez71rQSCcZUYIm"
- "wd4PuRDrz2mmSMo8nHlM90lcT3SDAwAAADG1AWXd06wFAAAAAOv8hxK/"
- "ZiB6dg1K3rKSqu4wJTwobZh24Rx5R/"
- "hN8v058IVLsetqLGJ3dkIqCuwaORJVYH7s1WAJT6cDAAAAAJuaAdSMhiA/"
- "c4pq1QIA4Bgs6gYARSQXmYOVhlr1j6mdkkU5kxvEGjoEAAAAAI3DbmPEUHvv"
- "O4A1XpbO4S1WPCPk5MB3K/gMRb4lf8KxQzEWCAAAAADFAgCBkPe8ES4cp/"
- "v81FI69jgguK9LsbqPcN8PM5JSZKda5TlSokl/"
- "vvB8u8XO9b0IAAAAABd2t2Eoc/"
- "CYVAHL5VIxjqsXxv25EX54AgD6NcfJLIXRQvuJoiT7k7xQlIg35bnEktCMkI"
- "qdDwQAAAAANQMAnwAACjln02TspaXoMEkOLdzJfHFTs1cNeencBgBVAwB6AA"
- "Boo4lsQ5OkqWgKlg6vfz73jGrVV+ZHqZqethSIlBoEAAAAAPy8jWn+"
- "IQ6piBdBlsW/"
- "075NP5SkJtpOv3oGANMEAAAAAJntB5erkwGrtA5VPiWV0+"
- "pWqKmj5j5IDRqWzJScoZc3kJ3NPDLN5uXbPSQB0vfrKqCVzYjTF5XtrWOCSg"
- "UAAAAAGoGUt0/Q6B64z/"
- "j18vnI6uXyjHzAFVHXqj+"
- "FDsHPEttRppOgeH29MU23J0Gy7yyZ47gWpc1mfXilAwAAAACFZ9KXQyQ/"
- "1sO2VYLnojoQ4uv+EIXjx5uJlQMAAAAAMAQAAAAABw+oCpMR2yxU/"
- "morwyKARgojgBkGAGwZFvH73Y6FdJGMgjqVF0pyQp1yrMg2zUp812z78HJpC"
- "4dcB2bpjNl8Gly1r3IBIrSek2FnyDCwRgkeQviPqwQAAAAAkAQAAAAAGAgAA"
- "AAAC33xl1dusLMkYA==";
- char* decodedData = 0;
- int decodecLength;
- Framework::base64Decode(data, &decodedData, &decodecLength);
- Framework::Text encoded
- = Framework::base64Encode(decodedData, decodecLength);
- Assert::IsTrue(encoded.istGleich(data));
- delete[] decodedData;
- }
- };
- } // namespace FrameworkTests
|