summaryrefslogtreecommitdiffstats
path: root/util/stream/hex_ut.cpp
blob: 1a6bf5a6d3b8aa8524ea0e17b4465c986d4024a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "hex.h" 
 
#include <library/cpp/testing/unittest/registar.h>
#include "str.h"
 
Y_UNIT_TEST_SUITE(THexCodingTest) {
    void TestImpl(const TString& data) {
        TString encoded;
        TStringOutput encodedOut(encoded); 
        HexEncode(data.data(), data.size(), encodedOut);
 
        UNIT_ASSERT_EQUAL(encoded.size(), data.size() * 2);
 
        TString decoded;
        TStringOutput decodedOut(decoded); 
        HexDecode(encoded.data(), encoded.size(), decodedOut);
 
        UNIT_ASSERT_EQUAL(decoded, data); 
    } 
 
    Y_UNIT_TEST(TestEncodeDecodeToStream) {
        TString data = "100ABAcaba500,$%0987123456   \n\t\x01\x02\x03.";
        TestImpl(data); 
    } 
 
    Y_UNIT_TEST(TestEmpty) {
        TestImpl(""); 
    } 
}