aboutsummaryrefslogtreecommitdiffstats
path: root/util/stream/hex_ut.cpp
blob: c1b80ef5f7f0164fad64351e41911d27642fc76a (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("");
    }
}