diff options
author | nikitamorozov <nikitamorozov@yandex-team.ru> | 2022-02-10 16:49:20 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:20 +0300 |
commit | 2342f2b56e674c21307fcb92a37853f950224d31 (patch) | |
tree | 7e3170fde6aea33759fe624ee5b7ec29de8af150 /util/stream/zerocopy_output_ut.cpp | |
parent | 2896882074ce784b7cabc4f2f7c502db74b34b80 (diff) | |
download | ydb-2342f2b56e674c21307fcb92a37853f950224d31.tar.gz |
Restoring authorship annotation for <nikitamorozov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'util/stream/zerocopy_output_ut.cpp')
-rw-r--r-- | util/stream/zerocopy_output_ut.cpp | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/util/stream/zerocopy_output_ut.cpp b/util/stream/zerocopy_output_ut.cpp index e81f7fb056c..8d58a2e848b 100644 --- a/util/stream/zerocopy_output_ut.cpp +++ b/util/stream/zerocopy_output_ut.cpp @@ -1,48 +1,48 @@ -#include "zerocopy_output.h" - +#include "zerocopy_output.h" + #include <library/cpp/testing/unittest/registar.h> - -#include <util/generic/string.h> - -// This version of string output stream is written here only -// for testing IZeroCopyOutput implementation of DoWrite. -class TSimpleStringOutput: public IZeroCopyOutput { -public: - TSimpleStringOutput(TString& s) noexcept - : S_(s) - { - } - -private: - size_t DoNext(void** ptr) override { - if (S_.size() == S_.capacity()) { - S_.reserve(FastClp2(S_.capacity() + 1)); - } - size_t previousSize = S_.size(); - S_.resize(S_.capacity()); - *ptr = S_.begin() + previousSize; - return S_.size() - previousSize; - } - - void DoUndo(size_t len) override { - Y_ENSURE(len <= S_.size()); - S_.resize(S_.size() - len); - } - - TString& S_; -}; - -Y_UNIT_TEST_SUITE(TestZerocopyOutput) { - Y_UNIT_TEST(Write) { - TString str; - TSimpleStringOutput output(str); - TString result; - - for (size_t i = 0; i < 1000; ++i) { - result.push_back('a' + (i % 20)); - } - - output.Write(result.begin(), result.size()); - UNIT_ASSERT_STRINGS_EQUAL(str, result); - } -} + +#include <util/generic/string.h> + +// This version of string output stream is written here only +// for testing IZeroCopyOutput implementation of DoWrite. +class TSimpleStringOutput: public IZeroCopyOutput { +public: + TSimpleStringOutput(TString& s) noexcept + : S_(s) + { + } + +private: + size_t DoNext(void** ptr) override { + if (S_.size() == S_.capacity()) { + S_.reserve(FastClp2(S_.capacity() + 1)); + } + size_t previousSize = S_.size(); + S_.resize(S_.capacity()); + *ptr = S_.begin() + previousSize; + return S_.size() - previousSize; + } + + void DoUndo(size_t len) override { + Y_ENSURE(len <= S_.size()); + S_.resize(S_.size() - len); + } + + TString& S_; +}; + +Y_UNIT_TEST_SUITE(TestZerocopyOutput) { + Y_UNIT_TEST(Write) { + TString str; + TSimpleStringOutput output(str); + TString result; + + for (size_t i = 0; i < 1000; ++i) { + result.push_back('a' + (i % 20)); + } + + output.Write(result.begin(), result.size()); + UNIT_ASSERT_STRINGS_EQUAL(str, result); + } +} |