aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbidzilya <bidzilya@yandex-team.ru>2022-02-10 16:50:46 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:50:46 +0300
commita175286682787b2d1213734c5be7458aaf594c1c (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8
parentdf9835cb1b90255cbbd11b71ab3609ec1ff75107 (diff)
downloadydb-a175286682787b2d1213734c5be7458aaf594c1c.tar.gz
Restoring authorship annotation for <bidzilya@yandex-team.ru>. Commit 2 of 2.
-rw-r--r--build/rules/flake8/migrations.yaml2
-rw-r--r--library/cpp/packers/proto_packer.cpp2
-rw-r--r--library/cpp/packers/proto_packer.h98
-rw-r--r--library/cpp/packers/region_packer.cpp2
-rw-r--r--library/cpp/packers/ut/proto_packer_ut.cpp190
-rw-r--r--library/cpp/packers/ut/test.proto22
-rw-r--r--library/cpp/packers/ut/ya.make4
-rw-r--r--library/cpp/packers/ya.make4
-rw-r--r--library/cpp/yt/string/format-inl.h6
-rw-r--r--util/generic/singleton.h46
-rw-r--r--util/generic/singleton_ut.cpp58
11 files changed, 217 insertions, 217 deletions
diff --git a/build/rules/flake8/migrations.yaml b/build/rules/flake8/migrations.yaml
index 900c413118..6e54bf2e62 100644
--- a/build/rules/flake8/migrations.yaml
+++ b/build/rules/flake8/migrations.yaml
@@ -1515,7 +1515,7 @@ migrations:
- ydo/payments/balance_notifications_processor/lib
- ydo/server/apphost_source/lib/endpoints
- ydo/tools/direct/make_ya_clients_export
- - yp/eviction_alerter/bin
+ - yp/eviction_alerter/bin
- yp/scheduler_simulator/analysis/library
- yql/library/test_framework
- yweb/antimalware/mitb/mitb_monitor/lib
diff --git a/library/cpp/packers/proto_packer.cpp b/library/cpp/packers/proto_packer.cpp
index 457202d1e5..ddca0d5b3b 100644
--- a/library/cpp/packers/proto_packer.cpp
+++ b/library/cpp/packers/proto_packer.cpp
@@ -1 +1 @@
-#include "proto_packer.h"
+#include "proto_packer.h"
diff --git a/library/cpp/packers/proto_packer.h b/library/cpp/packers/proto_packer.h
index bf40c6c2cd..5a3d008e29 100644
--- a/library/cpp/packers/proto_packer.h
+++ b/library/cpp/packers/proto_packer.h
@@ -1,50 +1,50 @@
-#pragma once
-
-#include "packers.h"
-
-#include <util/generic/yexception.h>
-
-namespace NPackers {
- template <typename TProtoMessage>
- class TProtoMessagePacker {
- public:
- void UnpackLeaf(const char* bufferPtr, TProtoMessage& protoMessage) const {
- const size_t protoMessageByteSize = GetProtoMessageByteSize(bufferPtr);
- const size_t skipBytesCount = ProtoMessageByteSizePacker.SkipLeaf(bufferPtr);
-
- if (!protoMessage.ParseFromArray(static_cast<const void*>(bufferPtr + skipBytesCount), protoMessageByteSize)) {
- ythrow yexception() << "Cannot unpack leaf with proto message";
- }
- }
-
- void PackLeaf(char* bufferPtr, const TProtoMessage& protoMessage, const size_t totalByteSize) const {
- const size_t protoMessageByteSize = protoMessage.ByteSize();
- const size_t skipBytesCount = totalByteSize - protoMessageByteSize;
-
- ProtoMessageByteSizePacker.PackLeaf(bufferPtr, protoMessageByteSize, skipBytesCount);
-
- if (!protoMessage.SerializeToArray(static_cast<void*>(bufferPtr + skipBytesCount), protoMessageByteSize)) {
- ythrow yexception() << "Cannot pack leaf with proto message";
- }
- }
-
- size_t MeasureLeaf(const TProtoMessage& protoMessage) const {
- const size_t protoMessageByteSize = protoMessage.ByteSize();
- return ProtoMessageByteSizePacker.MeasureLeaf(protoMessageByteSize) + protoMessageByteSize;
- }
-
- size_t SkipLeaf(const char* bufferPtr) const {
- const size_t protoMessageByteSize = GetProtoMessageByteSize(bufferPtr);
- return ProtoMessageByteSizePacker.SkipLeaf(bufferPtr) + protoMessageByteSize;
- }
-
- private:
- TIntegralPacker<size_t> ProtoMessageByteSizePacker;
-
- size_t GetProtoMessageByteSize(const char* bufferPtr) const {
- size_t result;
- ProtoMessageByteSizePacker.UnpackLeaf(bufferPtr, result);
- return result;
- }
- };
+#pragma once
+
+#include "packers.h"
+
+#include <util/generic/yexception.h>
+
+namespace NPackers {
+ template <typename TProtoMessage>
+ class TProtoMessagePacker {
+ public:
+ void UnpackLeaf(const char* bufferPtr, TProtoMessage& protoMessage) const {
+ const size_t protoMessageByteSize = GetProtoMessageByteSize(bufferPtr);
+ const size_t skipBytesCount = ProtoMessageByteSizePacker.SkipLeaf(bufferPtr);
+
+ if (!protoMessage.ParseFromArray(static_cast<const void*>(bufferPtr + skipBytesCount), protoMessageByteSize)) {
+ ythrow yexception() << "Cannot unpack leaf with proto message";
+ }
+ }
+
+ void PackLeaf(char* bufferPtr, const TProtoMessage& protoMessage, const size_t totalByteSize) const {
+ const size_t protoMessageByteSize = protoMessage.ByteSize();
+ const size_t skipBytesCount = totalByteSize - protoMessageByteSize;
+
+ ProtoMessageByteSizePacker.PackLeaf(bufferPtr, protoMessageByteSize, skipBytesCount);
+
+ if (!protoMessage.SerializeToArray(static_cast<void*>(bufferPtr + skipBytesCount), protoMessageByteSize)) {
+ ythrow yexception() << "Cannot pack leaf with proto message";
+ }
+ }
+
+ size_t MeasureLeaf(const TProtoMessage& protoMessage) const {
+ const size_t protoMessageByteSize = protoMessage.ByteSize();
+ return ProtoMessageByteSizePacker.MeasureLeaf(protoMessageByteSize) + protoMessageByteSize;
+ }
+
+ size_t SkipLeaf(const char* bufferPtr) const {
+ const size_t protoMessageByteSize = GetProtoMessageByteSize(bufferPtr);
+ return ProtoMessageByteSizePacker.SkipLeaf(bufferPtr) + protoMessageByteSize;
+ }
+
+ private:
+ TIntegralPacker<size_t> ProtoMessageByteSizePacker;
+
+ size_t GetProtoMessageByteSize(const char* bufferPtr) const {
+ size_t result;
+ ProtoMessageByteSizePacker.UnpackLeaf(bufferPtr, result);
+ return result;
+ }
+ };
}
diff --git a/library/cpp/packers/region_packer.cpp b/library/cpp/packers/region_packer.cpp
index f40f8dd7da..3d8b20c371 100644
--- a/library/cpp/packers/region_packer.cpp
+++ b/library/cpp/packers/region_packer.cpp
@@ -1 +1 @@
-#include "region_packer.h"
+#include "region_packer.h"
diff --git a/library/cpp/packers/ut/proto_packer_ut.cpp b/library/cpp/packers/ut/proto_packer_ut.cpp
index 325eb3d542..e4151ba68c 100644
--- a/library/cpp/packers/ut/proto_packer_ut.cpp
+++ b/library/cpp/packers/ut/proto_packer_ut.cpp
@@ -1,104 +1,104 @@
-#include "proto_packer.h"
-
+#include "proto_packer.h"
+
#include <library/cpp/packers/ut/test.pb.h>
#include <library/cpp/testing/unittest/registar.h>
-
-#include <util/generic/string.h>
-
-using namespace NPackers;
-using namespace NProtoPackerTest;
-
-void FillRequiredFields(TTestMessage& msg) {
- msg.SetRequiredString("required_string");
- msg.SetRequiredInt32(42);
-}
-
-void FillOptionalFields(TTestMessage& msg) {
- msg.SetOptionalString("optional_string");
- msg.SetOptionalInt32(43);
-}
-
-void FillRepeatedFields(TTestMessage& msg) {
- msg.ClearRepeatedStrings();
- for (ui32 idx = 0; idx < 5; ++idx) {
- msg.AddRepeatedStrings("repeated_string" + ToString(idx));
- }
-}
-
+
+#include <util/generic/string.h>
+
+using namespace NPackers;
+using namespace NProtoPackerTest;
+
+void FillRequiredFields(TTestMessage& msg) {
+ msg.SetRequiredString("required_string");
+ msg.SetRequiredInt32(42);
+}
+
+void FillOptionalFields(TTestMessage& msg) {
+ msg.SetOptionalString("optional_string");
+ msg.SetOptionalInt32(43);
+}
+
+void FillRepeatedFields(TTestMessage& msg) {
+ msg.ClearRepeatedStrings();
+ for (ui32 idx = 0; idx < 5; ++idx) {
+ msg.AddRepeatedStrings("repeated_string" + ToString(idx));
+ }
+}
+
// do not want to use google/protobuf/util/message_differencer because of warnings
bool operator==(const TTestMessage& lhs, const TTestMessage& rhs) {
- if (lhs.GetRequiredString() != rhs.GetRequiredString() ||
- lhs.GetRequiredInt32() != rhs.GetRequiredInt32() ||
- lhs.HasOptionalString() != rhs.HasOptionalString() ||
- (lhs.HasOptionalString() && lhs.GetOptionalString() != rhs.GetOptionalString()) ||
- lhs.HasOptionalInt32() != rhs.HasOptionalInt32() ||
- (lhs.HasOptionalInt32() && lhs.GetOptionalInt32() != rhs.GetOptionalInt32()) ||
- lhs.RepeatedStringsSize() != rhs.RepeatedStringsSize())
- {
- return false;
- }
- for (ui32 idx = 0; idx < lhs.RepeatedStringsSize(); ++idx) {
- if (lhs.GetRepeatedStrings(idx) != rhs.GetRepeatedStrings(idx)) {
- return false;
- }
- }
- return true;
-}
-
+ if (lhs.GetRequiredString() != rhs.GetRequiredString() ||
+ lhs.GetRequiredInt32() != rhs.GetRequiredInt32() ||
+ lhs.HasOptionalString() != rhs.HasOptionalString() ||
+ (lhs.HasOptionalString() && lhs.GetOptionalString() != rhs.GetOptionalString()) ||
+ lhs.HasOptionalInt32() != rhs.HasOptionalInt32() ||
+ (lhs.HasOptionalInt32() && lhs.GetOptionalInt32() != rhs.GetOptionalInt32()) ||
+ lhs.RepeatedStringsSize() != rhs.RepeatedStringsSize())
+ {
+ return false;
+ }
+ for (ui32 idx = 0; idx < lhs.RepeatedStringsSize(); ++idx) {
+ if (lhs.GetRepeatedStrings(idx) != rhs.GetRepeatedStrings(idx)) {
+ return false;
+ }
+ }
+ return true;
+}
+
Y_UNIT_TEST_SUITE(ProtoPackerTestSuite) {
- TProtoMessagePacker<TTestMessage> Packer;
- TString Buffer;
-
- void DoPackUnpackTest(const TTestMessage& msg) {
- const ui32 msgByteSize = Packer.MeasureLeaf(msg);
- Buffer.resize(msgByteSize);
-
- Packer.PackLeaf(Buffer.begin(), msg, msgByteSize);
-
- TTestMessage checkMsg;
- Packer.UnpackLeaf(Buffer.begin(), checkMsg);
-
- UNIT_ASSERT_EQUAL(msg, checkMsg);
- }
-
+ TProtoMessagePacker<TTestMessage> Packer;
+ TString Buffer;
+
+ void DoPackUnpackTest(const TTestMessage& msg) {
+ const ui32 msgByteSize = Packer.MeasureLeaf(msg);
+ Buffer.resize(msgByteSize);
+
+ Packer.PackLeaf(Buffer.begin(), msg, msgByteSize);
+
+ TTestMessage checkMsg;
+ Packer.UnpackLeaf(Buffer.begin(), checkMsg);
+
+ UNIT_ASSERT_EQUAL(msg, checkMsg);
+ }
+
Y_UNIT_TEST(TestPackUnpackOnlyRequired) {
- TTestMessage msg;
- FillRequiredFields(msg);
- DoPackUnpackTest(msg);
- }
-
+ TTestMessage msg;
+ FillRequiredFields(msg);
+ DoPackUnpackTest(msg);
+ }
+
Y_UNIT_TEST(TestPackUnpackRequiredAndOptional) {
- TTestMessage msg;
- FillRequiredFields(msg);
- FillOptionalFields(msg);
- DoPackUnpackTest(msg);
- }
-
+ TTestMessage msg;
+ FillRequiredFields(msg);
+ FillOptionalFields(msg);
+ DoPackUnpackTest(msg);
+ }
+
Y_UNIT_TEST(TestPackUnpackAll) {
- TTestMessage msg;
- FillRequiredFields(msg);
- FillOptionalFields(msg);
- FillRepeatedFields(msg);
- DoPackUnpackTest(msg);
- }
-
+ TTestMessage msg;
+ FillRequiredFields(msg);
+ FillOptionalFields(msg);
+ FillRepeatedFields(msg);
+ DoPackUnpackTest(msg);
+ }
+
Y_UNIT_TEST(TestSkipLeaf) {
- TTestMessage msgFirst;
- FillRequiredFields(msgFirst);
- TTestMessage msgSecond;
- FillRequiredFields(msgSecond);
- FillOptionalFields(msgSecond);
-
- const ui32 msgFirstByteSize = Packer.MeasureLeaf(msgFirst);
- const ui32 msgSecondByteSize = Packer.MeasureLeaf(msgSecond);
-
- Buffer.resize(msgFirstByteSize + msgSecondByteSize);
- Packer.PackLeaf(Buffer.begin(), msgFirst, msgFirstByteSize);
- Packer.PackLeaf(Buffer.begin() + msgFirstByteSize, msgSecond, msgSecondByteSize);
-
- TTestMessage checkMsg;
- Packer.UnpackLeaf(Buffer.begin() + Packer.SkipLeaf(Buffer.begin()), checkMsg);
-
- UNIT_ASSERT_EQUAL(msgSecond, checkMsg);
- }
-}
+ TTestMessage msgFirst;
+ FillRequiredFields(msgFirst);
+ TTestMessage msgSecond;
+ FillRequiredFields(msgSecond);
+ FillOptionalFields(msgSecond);
+
+ const ui32 msgFirstByteSize = Packer.MeasureLeaf(msgFirst);
+ const ui32 msgSecondByteSize = Packer.MeasureLeaf(msgSecond);
+
+ Buffer.resize(msgFirstByteSize + msgSecondByteSize);
+ Packer.PackLeaf(Buffer.begin(), msgFirst, msgFirstByteSize);
+ Packer.PackLeaf(Buffer.begin() + msgFirstByteSize, msgSecond, msgSecondByteSize);
+
+ TTestMessage checkMsg;
+ Packer.UnpackLeaf(Buffer.begin() + Packer.SkipLeaf(Buffer.begin()), checkMsg);
+
+ UNIT_ASSERT_EQUAL(msgSecond, checkMsg);
+ }
+}
diff --git a/library/cpp/packers/ut/test.proto b/library/cpp/packers/ut/test.proto
index 439498b917..c872616bcc 100644
--- a/library/cpp/packers/ut/test.proto
+++ b/library/cpp/packers/ut/test.proto
@@ -1,11 +1,11 @@
-package NProtoPackerTest;
-
-message TTestMessage {
- required string RequiredString = 1;
- optional string OptionalString = 2;
-
- required int32 RequiredInt32 = 3;
- optional int32 OptionalInt32 = 4;
-
- repeated string RepeatedStrings = 5;
-}
+package NProtoPackerTest;
+
+message TTestMessage {
+ required string RequiredString = 1;
+ optional string OptionalString = 2;
+
+ required int32 RequiredInt32 = 3;
+ optional int32 OptionalInt32 = 4;
+
+ repeated string RepeatedStrings = 5;
+}
diff --git a/library/cpp/packers/ut/ya.make b/library/cpp/packers/ut/ya.make
index a3db381ed3..1c024ffd94 100644
--- a/library/cpp/packers/ut/ya.make
+++ b/library/cpp/packers/ut/ya.make
@@ -4,9 +4,9 @@ OWNER(velavokr)
SRCS(
packers_ut.cpp
- proto_packer_ut.cpp
+ proto_packer_ut.cpp
region_packer_ut.cpp
- test.proto
+ test.proto
)
END()
diff --git a/library/cpp/packers/ya.make b/library/cpp/packers/ya.make
index bb86d9b00b..e1ec4972ed 100644
--- a/library/cpp/packers/ya.make
+++ b/library/cpp/packers/ya.make
@@ -4,8 +4,8 @@ OWNER(velavokr)
SRCS(
packers.cpp
- proto_packer.cpp
- region_packer.cpp
+ proto_packer.cpp
+ region_packer.cpp
)
END()
diff --git a/library/cpp/yt/string/format-inl.h b/library/cpp/yt/string/format-inl.h
index f47c1acf33..5484d4a216 100644
--- a/library/cpp/yt/string/format-inl.h
+++ b/library/cpp/yt/string/format-inl.h
@@ -378,10 +378,10 @@ struct TValueFormatter<THashMultiMap<K, V>>
};
// TEnumIndexedVector
-template <class E, class T>
-struct TValueFormatter<TEnumIndexedVector<E, T>>
+template <class E, class T>
+struct TValueFormatter<TEnumIndexedVector<E, T>>
{
- static void Do(TStringBuilderBase* builder, const TEnumIndexedVector<E, T>& collection, TStringBuf format)
+ static void Do(TStringBuilderBase* builder, const TEnumIndexedVector<E, T>& collection, TStringBuf format)
{
builder->AppendChar('{');
bool firstItem = true;
diff --git a/util/generic/singleton.h b/util/generic/singleton.h
index feaa95e4b6..f5fa047f5c 100644
--- a/util/generic/singleton.h
+++ b/util/generic/singleton.h
@@ -4,7 +4,7 @@
#include <util/system/atomic.h>
#include <new>
-#include <utility>
+#include <utility>
template <class T>
struct TSingletonTraits {
@@ -23,8 +23,8 @@ namespace NPrivate {
FillWithTrash(ptr, sizeof(T));
}
- template <class T, size_t P, class... TArgs>
- Y_NO_INLINE T* SingletonBase(T*& ptr, TArgs&&... args) {
+ template <class T, size_t P, class... TArgs>
+ Y_NO_INLINE T* SingletonBase(T*& ptr, TArgs&&... args) {
alignas(T) static char buf[sizeof(T)];
static TAtomic lock;
@@ -34,7 +34,7 @@ namespace NPrivate {
try {
if (!ret) {
- ret = ::new (buf) T(std::forward<TArgs>(args)...);
+ ret = ::new (buf) T(std::forward<TArgs>(args)...);
try {
AtExit(Destroyer<T>, ret, P);
@@ -57,15 +57,15 @@ namespace NPrivate {
return ret;
}
- template <class T, size_t P, class... TArgs>
- T* SingletonInt(TArgs&&... args) {
+ template <class T, size_t P, class... TArgs>
+ T* SingletonInt(TArgs&&... args) {
static_assert(sizeof(T) < 32000, "use HugeSingleton instead");
static T* ptr;
auto ret = AtomicGet(ptr);
if (Y_UNLIKELY(!ret)) {
- ret = SingletonBase<T, P>(ptr, std::forward<TArgs>(args)...);
+ ret = SingletonBase<T, P>(ptr, std::forward<TArgs>(args)...);
}
return ret;
@@ -74,9 +74,9 @@ namespace NPrivate {
template <class T>
class TDefault {
public:
- template <class... TArgs>
- inline TDefault(TArgs&&... args)
- : T_(std::forward<TArgs>(args)...)
+ template <class... TArgs>
+ inline TDefault(TArgs&&... args)
+ : T_(std::forward<TArgs>(args)...)
{
}
@@ -90,9 +90,9 @@ namespace NPrivate {
template <class T>
struct THeapStore {
- template <class... TArgs>
- inline THeapStore(TArgs&&... args)
- : D(new T(std::forward<TArgs>(args)...))
+ template <class... TArgs>
+ inline THeapStore(TArgs&&... args)
+ : D(new T(std::forward<TArgs>(args)...))
{
}
@@ -110,23 +110,23 @@ namespace NPrivate {
template <class T, size_t P, class... TArgs> \
friend T* ::NPrivate::SingletonBase(T*&, TArgs&&...);
-template <class T, class... TArgs>
-T* Singleton(TArgs&&... args) {
- return ::NPrivate::SingletonInt<T, TSingletonTraits<T>::Priority>(std::forward<TArgs>(args)...);
+template <class T, class... TArgs>
+T* Singleton(TArgs&&... args) {
+ return ::NPrivate::SingletonInt<T, TSingletonTraits<T>::Priority>(std::forward<TArgs>(args)...);
}
-template <class T, class... TArgs>
-T* HugeSingleton(TArgs&&... args) {
+template <class T, class... TArgs>
+T* HugeSingleton(TArgs&&... args) {
return Singleton<::NPrivate::THeapStore<T>>(std::forward<TArgs>(args)...)->D;
}
-template <class T, size_t P, class... TArgs>
-T* SingletonWithPriority(TArgs&&... args) {
- return ::NPrivate::SingletonInt<T, P>(std::forward<TArgs>(args)...);
+template <class T, size_t P, class... TArgs>
+T* SingletonWithPriority(TArgs&&... args) {
+ return ::NPrivate::SingletonInt<T, P>(std::forward<TArgs>(args)...);
}
-template <class T, size_t P, class... TArgs>
-T* HugeSingletonWithPriority(TArgs&&... args) {
+template <class T, size_t P, class... TArgs>
+T* HugeSingletonWithPriority(TArgs&&... args) {
return SingletonWithPriority<::NPrivate::THeapStore<T>, P>(std::forward<TArgs>(args)...)->D;
}
diff --git a/util/generic/singleton_ut.cpp b/util/generic/singleton_ut.cpp
index 4db5d61a11..35ba90cd76 100644
--- a/util/generic/singleton_ut.cpp
+++ b/util/generic/singleton_ut.cpp
@@ -12,35 +12,35 @@ Y_UNIT_TEST_SUITE(TestSingleton) {
UNIT_ASSERT_VALUES_EQUAL(*HugeSingleton<int>(), 0);
UNIT_ASSERT_VALUES_EQUAL(HugeSingleton<THuge>()->V, 1234);
}
-
- struct TWithParams {
- explicit TWithParams(const ui32 data1 = 0, const TString& data2 = TString())
- : Data1(data1)
- , Data2(data2)
- {
- }
-
- ui32 Data1;
- TString Data2;
- };
-
+
+ struct TWithParams {
+ explicit TWithParams(const ui32 data1 = 0, const TString& data2 = TString())
+ : Data1(data1)
+ , Data2(data2)
+ {
+ }
+
+ ui32 Data1;
+ TString Data2;
+ };
+
Y_UNIT_TEST(TestConstructorParamsOrder) {
- UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(10, "123123")->Data1, 10);
- UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(20, "123123")->Data1, 10);
- UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(10, "456456")->Data2, "123123");
- }
-
+ UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(10, "123123")->Data1, 10);
+ UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(20, "123123")->Data1, 10);
+ UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(10, "456456")->Data2, "123123");
+ }
+
Y_UNIT_TEST(TestInstantiationWithConstructorParams) {
- UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(10)->Data1, 10);
- UNIT_ASSERT_VALUES_EQUAL(HugeSingleton<TWithParams>(20, "123123")->Data2, "123123");
- {
- const auto value = SingletonWithPriority<TWithParams, 12312>(30, "456")->Data1;
- UNIT_ASSERT_VALUES_EQUAL(value, 30);
- }
- {
- const auto value = HugeSingletonWithPriority<TWithParams, 12311>(40, "789")->Data2;
- UNIT_ASSERT_VALUES_EQUAL(value, "789");
- }
- UNIT_ASSERT_VALUES_EQUAL(Default<TWithParams>().Data1, 0);
- }
+ UNIT_ASSERT_VALUES_EQUAL(Singleton<TWithParams>(10)->Data1, 10);
+ UNIT_ASSERT_VALUES_EQUAL(HugeSingleton<TWithParams>(20, "123123")->Data2, "123123");
+ {
+ const auto value = SingletonWithPriority<TWithParams, 12312>(30, "456")->Data1;
+ UNIT_ASSERT_VALUES_EQUAL(value, 30);
+ }
+ {
+ const auto value = HugeSingletonWithPriority<TWithParams, 12311>(40, "789")->Data2;
+ UNIT_ASSERT_VALUES_EQUAL(value, "789");
+ }
+ UNIT_ASSERT_VALUES_EQUAL(Default<TWithParams>().Data1, 0);
+ }
}