aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/testing/unittest/registar_ut.cpp
diff options
context:
space:
mode:
authorVasily Gerasimov <UgnineSirdis@gmail.com>2022-02-10 16:49:09 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:09 +0300
commit6cdc8f140213c595e4ad38bc3d97fcef1146b8c3 (patch)
treef69637041e6fed76ebae0c74ae1fa0c4be6ab5b4 /library/cpp/testing/unittest/registar_ut.cpp
parente5d4696304c6689379ac7ce334512404d4b7836c (diff)
downloadydb-6cdc8f140213c595e4ad38bc3d97fcef1146b8c3.tar.gz
Restoring authorship annotation for Vasily Gerasimov <UgnineSirdis@gmail.com>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/testing/unittest/registar_ut.cpp')
-rw-r--r--library/cpp/testing/unittest/registar_ut.cpp400
1 files changed, 200 insertions, 200 deletions
diff --git a/library/cpp/testing/unittest/registar_ut.cpp b/library/cpp/testing/unittest/registar_ut.cpp
index 1f36d53abb..9442eb3d0a 100644
--- a/library/cpp/testing/unittest/registar_ut.cpp
+++ b/library/cpp/testing/unittest/registar_ut.cpp
@@ -1,132 +1,132 @@
#include <library/cpp/testing/unittest/registar.h>
-
+
Y_UNIT_TEST_SUITE(TUnitTestMacroTest) {
Y_UNIT_TEST(Assert) {
- auto unitAssert = [] {
- UNIT_ASSERT(false);
- };
- UNIT_ASSERT_TEST_FAILS(unitAssert());
-
- UNIT_ASSERT(true);
- }
-
+ auto unitAssert = [] {
+ UNIT_ASSERT(false);
+ };
+ UNIT_ASSERT_TEST_FAILS(unitAssert());
+
+ UNIT_ASSERT(true);
+ }
+
Y_UNIT_TEST(TypesEqual) {
- auto typesEqual = [] {
- UNIT_ASSERT_TYPES_EQUAL(int, long);
- };
- UNIT_ASSERT_TEST_FAILS(typesEqual());
-
- UNIT_ASSERT_TYPES_EQUAL(TString, TString);
- }
-
+ auto typesEqual = [] {
+ UNIT_ASSERT_TYPES_EQUAL(int, long);
+ };
+ UNIT_ASSERT_TEST_FAILS(typesEqual());
+
+ UNIT_ASSERT_TYPES_EQUAL(TString, TString);
+ }
+
Y_UNIT_TEST(DoublesEqual) {
- auto doublesEqual = [](double d1, double d2, double precision) {
- UNIT_ASSERT_DOUBLES_EQUAL(d1, d2, precision);
- };
- UNIT_ASSERT_TEST_FAILS(doublesEqual(0.0, 0.5, 0.1));
- UNIT_ASSERT_TEST_FAILS(doublesEqual(0.1, -0.1, 0.1));
-
- UNIT_ASSERT_DOUBLES_EQUAL(0.0, 0.01, 0.1);
- UNIT_ASSERT_DOUBLES_EQUAL(0.01, 0.0, 0.1);
+ auto doublesEqual = [](double d1, double d2, double precision) {
+ UNIT_ASSERT_DOUBLES_EQUAL(d1, d2, precision);
+ };
+ UNIT_ASSERT_TEST_FAILS(doublesEqual(0.0, 0.5, 0.1));
+ UNIT_ASSERT_TEST_FAILS(doublesEqual(0.1, -0.1, 0.1));
+
+ UNIT_ASSERT_DOUBLES_EQUAL(0.0, 0.01, 0.1);
+ UNIT_ASSERT_DOUBLES_EQUAL(0.01, 0.0, 0.1);
constexpr auto nan = std::numeric_limits<double>::quiet_NaN();
UNIT_ASSERT_TEST_FAILS(doublesEqual(nan, 0.5, 0.1));
UNIT_ASSERT_TEST_FAILS(doublesEqual(0.5, nan, 0.1));
UNIT_ASSERT_DOUBLES_EQUAL(nan, nan, 0.1);
- }
-
+ }
+
Y_UNIT_TEST(StringsEqual) {
- auto stringsEqual = [](auto s1, auto s2) {
- UNIT_ASSERT_STRINGS_EQUAL(s1, s2);
- };
- UNIT_ASSERT_TEST_FAILS(stringsEqual("q", "w"));
- UNIT_ASSERT_TEST_FAILS(stringsEqual("q", TString("w")));
- UNIT_ASSERT_TEST_FAILS(stringsEqual(TString("q"), "w"));
- UNIT_ASSERT_TEST_FAILS(stringsEqual(TString("a"), TString("b")));
+ auto stringsEqual = [](auto s1, auto s2) {
+ UNIT_ASSERT_STRINGS_EQUAL(s1, s2);
+ };
+ UNIT_ASSERT_TEST_FAILS(stringsEqual("q", "w"));
+ UNIT_ASSERT_TEST_FAILS(stringsEqual("q", TString("w")));
+ UNIT_ASSERT_TEST_FAILS(stringsEqual(TString("q"), "w"));
+ UNIT_ASSERT_TEST_FAILS(stringsEqual(TString("a"), TString("b")));
UNIT_ASSERT_TEST_FAILS(stringsEqual(TString("a"), TStringBuf("b")));
UNIT_ASSERT_TEST_FAILS(stringsEqual("a", TStringBuf("b")));
UNIT_ASSERT_TEST_FAILS(stringsEqual(TStringBuf("a"), "b"));
-
- TString empty;
- TStringBuf emptyBuf;
- UNIT_ASSERT_STRINGS_EQUAL("", empty);
- UNIT_ASSERT_STRINGS_EQUAL(empty, emptyBuf);
- UNIT_ASSERT_STRINGS_EQUAL("", static_cast<const char*>(nullptr));
- }
-
+
+ TString empty;
+ TStringBuf emptyBuf;
+ UNIT_ASSERT_STRINGS_EQUAL("", empty);
+ UNIT_ASSERT_STRINGS_EQUAL(empty, emptyBuf);
+ UNIT_ASSERT_STRINGS_EQUAL("", static_cast<const char*>(nullptr));
+ }
+
Y_UNIT_TEST(StringContains) {
- auto stringContains = [](auto s, auto substr) {
- UNIT_ASSERT_STRING_CONTAINS(s, substr);
- };
- UNIT_ASSERT_TEST_FAILS(stringContains("", "a"));
- UNIT_ASSERT_TEST_FAILS(stringContains("lurkmore", "moar"));
-
- UNIT_ASSERT_STRING_CONTAINS("", "");
- UNIT_ASSERT_STRING_CONTAINS("a", "");
- UNIT_ASSERT_STRING_CONTAINS("failure", "fail");
- UNIT_ASSERT_STRING_CONTAINS("lurkmore", "more");
- }
-
+ auto stringContains = [](auto s, auto substr) {
+ UNIT_ASSERT_STRING_CONTAINS(s, substr);
+ };
+ UNIT_ASSERT_TEST_FAILS(stringContains("", "a"));
+ UNIT_ASSERT_TEST_FAILS(stringContains("lurkmore", "moar"));
+
+ UNIT_ASSERT_STRING_CONTAINS("", "");
+ UNIT_ASSERT_STRING_CONTAINS("a", "");
+ UNIT_ASSERT_STRING_CONTAINS("failure", "fail");
+ UNIT_ASSERT_STRING_CONTAINS("lurkmore", "more");
+ }
+
Y_UNIT_TEST(NoDiff) {
- auto noDiff = [](auto s1, auto s2) {
- UNIT_ASSERT_NO_DIFF(s1, s2);
- };
- UNIT_ASSERT_TEST_FAILS(noDiff("q", "w"));
- UNIT_ASSERT_TEST_FAILS(noDiff("q", ""));
-
- UNIT_ASSERT_NO_DIFF("", "");
- UNIT_ASSERT_NO_DIFF("a", "a");
- }
-
+ auto noDiff = [](auto s1, auto s2) {
+ UNIT_ASSERT_NO_DIFF(s1, s2);
+ };
+ UNIT_ASSERT_TEST_FAILS(noDiff("q", "w"));
+ UNIT_ASSERT_TEST_FAILS(noDiff("q", ""));
+
+ UNIT_ASSERT_NO_DIFF("", "");
+ UNIT_ASSERT_NO_DIFF("a", "a");
+ }
+
Y_UNIT_TEST(StringsUnequal) {
- auto stringsUnequal = [](auto s1, auto s2) {
- UNIT_ASSERT_STRINGS_UNEQUAL(s1, s2);
- };
- UNIT_ASSERT_TEST_FAILS(stringsUnequal("1", "1"));
- UNIT_ASSERT_TEST_FAILS(stringsUnequal("", ""));
- UNIT_ASSERT_TEST_FAILS(stringsUnequal("42", TString("42")));
- UNIT_ASSERT_TEST_FAILS(stringsUnequal(TString("4"), "4"));
+ auto stringsUnequal = [](auto s1, auto s2) {
+ UNIT_ASSERT_STRINGS_UNEQUAL(s1, s2);
+ };
+ UNIT_ASSERT_TEST_FAILS(stringsUnequal("1", "1"));
+ UNIT_ASSERT_TEST_FAILS(stringsUnequal("", ""));
+ UNIT_ASSERT_TEST_FAILS(stringsUnequal("42", TString("42")));
+ UNIT_ASSERT_TEST_FAILS(stringsUnequal(TString("4"), "4"));
UNIT_ASSERT_TEST_FAILS(stringsUnequal("d", TStringBuf("d")));
UNIT_ASSERT_TEST_FAILS(stringsUnequal(TStringBuf("yandex"), "yandex"));
UNIT_ASSERT_TEST_FAILS(stringsUnequal(TStringBuf("index"), TString("index")));
UNIT_ASSERT_TEST_FAILS(stringsUnequal(TString("diff"), TStringBuf("diff")));
-
- UNIT_ASSERT_STRINGS_UNEQUAL("1", "2");
- UNIT_ASSERT_STRINGS_UNEQUAL("", "3");
+
+ UNIT_ASSERT_STRINGS_UNEQUAL("1", "2");
+ UNIT_ASSERT_STRINGS_UNEQUAL("", "3");
UNIT_ASSERT_STRINGS_UNEQUAL("green", TStringBuf("red"));
UNIT_ASSERT_STRINGS_UNEQUAL(TStringBuf("solomon"), "golovan");
- UNIT_ASSERT_STRINGS_UNEQUAL("d", TString("f"));
- UNIT_ASSERT_STRINGS_UNEQUAL(TString("yandex"), "index");
+ UNIT_ASSERT_STRINGS_UNEQUAL("d", TString("f"));
+ UNIT_ASSERT_STRINGS_UNEQUAL(TString("yandex"), "index");
UNIT_ASSERT_STRINGS_UNEQUAL(TString("mail"), TStringBuf("yandex"));
UNIT_ASSERT_STRINGS_UNEQUAL(TStringBuf("C++"), TString("python"));
- }
-
+ }
+
Y_UNIT_TEST(Equal) {
- auto equal = [](auto v1, auto v2) {
- UNIT_ASSERT_EQUAL(v1, v2);
- };
- UNIT_ASSERT_TEST_FAILS(equal("1", TString("2")));
- UNIT_ASSERT_TEST_FAILS(equal(1, 2));
- UNIT_ASSERT_TEST_FAILS(equal(42ul, static_cast<unsigned short>(24)));
-
- UNIT_ASSERT_EQUAL("abc", TString("abc"));
- UNIT_ASSERT_EQUAL(12l, 12);
- UNIT_ASSERT_EQUAL(55, 55);
- }
-
+ auto equal = [](auto v1, auto v2) {
+ UNIT_ASSERT_EQUAL(v1, v2);
+ };
+ UNIT_ASSERT_TEST_FAILS(equal("1", TString("2")));
+ UNIT_ASSERT_TEST_FAILS(equal(1, 2));
+ UNIT_ASSERT_TEST_FAILS(equal(42ul, static_cast<unsigned short>(24)));
+
+ UNIT_ASSERT_EQUAL("abc", TString("abc"));
+ UNIT_ASSERT_EQUAL(12l, 12);
+ UNIT_ASSERT_EQUAL(55, 55);
+ }
+
Y_UNIT_TEST(Unequal) {
- auto unequal = [](auto v1, auto v2) {
- UNIT_ASSERT_UNEQUAL(v1, v2);
- };
- UNIT_ASSERT_TEST_FAILS(unequal("x", TString("x")));
- UNIT_ASSERT_TEST_FAILS(unequal(1, 1));
- UNIT_ASSERT_TEST_FAILS(unequal(static_cast<unsigned short>(42), 42ul));
-
- UNIT_ASSERT_UNEQUAL("abc", TString("cba"));
- UNIT_ASSERT_UNEQUAL(12l, 10);
- UNIT_ASSERT_UNEQUAL(33, 50);
- }
-
+ auto unequal = [](auto v1, auto v2) {
+ UNIT_ASSERT_UNEQUAL(v1, v2);
+ };
+ UNIT_ASSERT_TEST_FAILS(unequal("x", TString("x")));
+ UNIT_ASSERT_TEST_FAILS(unequal(1, 1));
+ UNIT_ASSERT_TEST_FAILS(unequal(static_cast<unsigned short>(42), 42ul));
+
+ UNIT_ASSERT_UNEQUAL("abc", TString("cba"));
+ UNIT_ASSERT_UNEQUAL(12l, 10);
+ UNIT_ASSERT_UNEQUAL(33, 50);
+ }
+
Y_UNIT_TEST(LessThan) {
auto lt = [](auto v1, auto v2) {
UNIT_ASSERT_LT(v1, v2);
@@ -236,45 +236,45 @@ Y_UNIT_TEST_SUITE(TUnitTestMacroTest) {
}
Y_UNIT_TEST(ValuesEqual) {
- auto valuesEqual = [](auto v1, auto v2) {
- UNIT_ASSERT_VALUES_EQUAL(v1, v2);
- };
- UNIT_ASSERT_TEST_FAILS(valuesEqual(1, 2));
- UNIT_ASSERT_TEST_FAILS(valuesEqual(1l, static_cast<short>(2)));
-
- UNIT_ASSERT_VALUES_EQUAL("yandex", TString("yandex"));
- UNIT_ASSERT_VALUES_EQUAL(1.0, 1.0);
- }
-
+ auto valuesEqual = [](auto v1, auto v2) {
+ UNIT_ASSERT_VALUES_EQUAL(v1, v2);
+ };
+ UNIT_ASSERT_TEST_FAILS(valuesEqual(1, 2));
+ UNIT_ASSERT_TEST_FAILS(valuesEqual(1l, static_cast<short>(2)));
+
+ UNIT_ASSERT_VALUES_EQUAL("yandex", TString("yandex"));
+ UNIT_ASSERT_VALUES_EQUAL(1.0, 1.0);
+ }
+
Y_UNIT_TEST(ValuesUnequal) {
- auto valuesUnequal = [](auto v1, auto v2) {
- UNIT_ASSERT_VALUES_UNEQUAL(v1, v2);
- };
- UNIT_ASSERT_TEST_FAILS(valuesUnequal(5, 5));
- UNIT_ASSERT_TEST_FAILS(valuesUnequal(static_cast<char>(5), 5l));
- TString test("test");
+ auto valuesUnequal = [](auto v1, auto v2) {
+ UNIT_ASSERT_VALUES_UNEQUAL(v1, v2);
+ };
+ UNIT_ASSERT_TEST_FAILS(valuesUnequal(5, 5));
+ UNIT_ASSERT_TEST_FAILS(valuesUnequal(static_cast<char>(5), 5l));
+ TString test("test");
UNIT_ASSERT_TEST_FAILS(valuesUnequal("test", test.data()));
-
- UNIT_ASSERT_VALUES_UNEQUAL("UNIT_ASSERT_VALUES_UNEQUAL", "UNIT_ASSERT_VALUES_EQUAL");
- UNIT_ASSERT_VALUES_UNEQUAL(1.0, 1.1);
- }
-
- class TTestException: public yexception {
- public:
- TTestException(const TString& text = "test exception", bool throwMe = true)
- : ThrowMe(throwMe)
- {
- *this << text;
- }
-
- virtual ~TTestException() = default;
-
- virtual void Throw() {
- if (ThrowMe) {
- throw *this;
- }
- }
-
+
+ UNIT_ASSERT_VALUES_UNEQUAL("UNIT_ASSERT_VALUES_UNEQUAL", "UNIT_ASSERT_VALUES_EQUAL");
+ UNIT_ASSERT_VALUES_UNEQUAL(1.0, 1.1);
+ }
+
+ class TTestException: public yexception {
+ public:
+ TTestException(const TString& text = "test exception", bool throwMe = true)
+ : ThrowMe(throwMe)
+ {
+ *this << text;
+ }
+
+ virtual ~TTestException() = default;
+
+ virtual void Throw() {
+ if (ThrowMe) {
+ throw *this;
+ }
+ }
+
std::string ThrowStr() {
if (ThrowMe) {
throw *this;
@@ -283,24 +283,24 @@ Y_UNIT_TEST_SUITE(TUnitTestMacroTest) {
return {};
}
- void AssertNoException() {
- UNIT_ASSERT_NO_EXCEPTION(Throw());
- }
-
+ void AssertNoException() {
+ UNIT_ASSERT_NO_EXCEPTION(Throw());
+ }
+
void AssertNoExceptionRet() {
const TString res = UNIT_ASSERT_NO_EXCEPTION_RESULT(ThrowStr());
}
- template <class TExpectedException>
- void AssertException() {
- UNIT_ASSERT_EXCEPTION(Throw(), TExpectedException);
- }
-
- template <class TExpectedException, class T>
- void AssertExceptionContains(const T& substr) {
- UNIT_ASSERT_EXCEPTION_CONTAINS(Throw(), TExpectedException, substr);
- }
-
+ template <class TExpectedException>
+ void AssertException() {
+ UNIT_ASSERT_EXCEPTION(Throw(), TExpectedException);
+ }
+
+ template <class TExpectedException, class T>
+ void AssertExceptionContains(const T& substr) {
+ UNIT_ASSERT_EXCEPTION_CONTAINS(Throw(), TExpectedException, substr);
+ }
+
template <class TExpectedException, class P>
void AssertExceptionSatisfies(const P& predicate) {
UNIT_ASSERT_EXCEPTION_SATISFIES(Throw(), TExpectedException, predicate);
@@ -310,58 +310,58 @@ Y_UNIT_TEST_SUITE(TUnitTestMacroTest) {
return 5; // just some value for predicate testing
}
- bool ThrowMe;
- };
-
- class TOtherTestException: public TTestException {
- public:
- using TTestException::TTestException;
-
- // Throws other type of exception
- void Throw() override {
- if (ThrowMe) {
- throw *this;
- }
- }
- };
-
+ bool ThrowMe;
+ };
+
+ class TOtherTestException: public TTestException {
+ public:
+ using TTestException::TTestException;
+
+ // Throws other type of exception
+ void Throw() override {
+ if (ThrowMe) {
+ throw *this;
+ }
+ }
+ };
+
Y_UNIT_TEST(Exception) {
- UNIT_ASSERT_TEST_FAILS(TTestException("", false).AssertException<TTestException>());
- UNIT_ASSERT_TEST_FAILS(TTestException().AssertException<TOtherTestException>());
-
- UNIT_ASSERT_EXCEPTION(TOtherTestException().Throw(), TTestException);
- UNIT_ASSERT_EXCEPTION(TTestException().Throw(), TTestException);
- }
-
+ UNIT_ASSERT_TEST_FAILS(TTestException("", false).AssertException<TTestException>());
+ UNIT_ASSERT_TEST_FAILS(TTestException().AssertException<TOtherTestException>());
+
+ UNIT_ASSERT_EXCEPTION(TOtherTestException().Throw(), TTestException);
+ UNIT_ASSERT_EXCEPTION(TTestException().Throw(), TTestException);
+ }
+
Y_UNIT_TEST(ExceptionAssertionContainsOtherExceptionMessage) {
- NUnitTest::TUnitTestFailChecker checker;
- {
- auto guard = checker.InvokeGuard();
- TTestException("custom exception message").AssertException<TOtherTestException>();
- }
- UNIT_ASSERT(checker.Failed());
- UNIT_ASSERT_STRING_CONTAINS(checker.Msg(), "custom exception message");
- }
-
+ NUnitTest::TUnitTestFailChecker checker;
+ {
+ auto guard = checker.InvokeGuard();
+ TTestException("custom exception message").AssertException<TOtherTestException>();
+ }
+ UNIT_ASSERT(checker.Failed());
+ UNIT_ASSERT_STRING_CONTAINS(checker.Msg(), "custom exception message");
+ }
+
Y_UNIT_TEST(NoException) {
- UNIT_ASSERT_TEST_FAILS(TTestException().AssertNoException());
+ UNIT_ASSERT_TEST_FAILS(TTestException().AssertNoException());
UNIT_ASSERT_TEST_FAILS(TTestException().AssertNoExceptionRet());
-
- UNIT_ASSERT_NO_EXCEPTION(TTestException("", false).Throw());
- }
-
+
+ UNIT_ASSERT_NO_EXCEPTION(TTestException("", false).Throw());
+ }
+
Y_UNIT_TEST(ExceptionContains) {
- UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TTestException>("cba"));
+ UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TTestException>("cba"));
UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TTestException>(TStringBuf("cba")));
- UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TTestException>(TString("cba")));
- UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TTestException>(TStringBuilder() << "cba"));
-
- UNIT_ASSERT_TEST_FAILS(TTestException("abc", false).AssertExceptionContains<TTestException>("bc"));
-
- UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TOtherTestException>("b"));
-
- UNIT_ASSERT_EXCEPTION_CONTAINS(TTestException("abc").Throw(), TTestException, "a");
- }
+ UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TTestException>(TString("cba")));
+ UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TTestException>(TStringBuilder() << "cba"));
+
+ UNIT_ASSERT_TEST_FAILS(TTestException("abc", false).AssertExceptionContains<TTestException>("bc"));
+
+ UNIT_ASSERT_TEST_FAILS(TTestException("abc").AssertExceptionContains<TOtherTestException>("b"));
+
+ UNIT_ASSERT_EXCEPTION_CONTAINS(TTestException("abc").Throw(), TTestException, "a");
+ }
Y_UNIT_TEST(ExceptionSatisfies) {
const auto goodPredicate = [](const TTestException& e) { return e.GetValue() == 5; };
@@ -370,4 +370,4 @@ Y_UNIT_TEST_SUITE(TUnitTestMacroTest) {
UNIT_ASSERT_TEST_FAILS(TTestException().AssertExceptionSatisfies<TTestException>(badPredicate));
UNIT_ASSERT_TEST_FAILS(TTestException().AssertExceptionSatisfies<TOtherTestException>(goodPredicate));
}
-}
+}