123456789101112131415161718192021222324252627282930313233343536 |
- #include "object_counter.h"
- #include <library/cpp/testing/unittest/registar.h>
- Y_UNIT_TEST_SUITE(ObjectsCounter) {
- struct TObject: public TObjectCounter<TObject> {
- };
- Y_UNIT_TEST(Test1) {
- TObject obj;
- TVector<TObject> objects;
- for (ui32 i = 0; i < 100; ++i) {
- objects.push_back(obj);
- }
- UNIT_ASSERT_EQUAL(TObjectCounter<TObject>::ObjectCount(), 101);
- }
- Y_UNIT_TEST(TestEq) {
- TObject obj;
- {
- TObject obj1 = obj;
- UNIT_ASSERT_EQUAL(TObjectCounter<TObject>::ObjectCount(), 2);
- }
- UNIT_ASSERT_EQUAL(TObjectCounter<TObject>::ObjectCount(), 1);
- }
- Y_UNIT_TEST(TestMove) {
- TObject obj;
- UNIT_ASSERT_EQUAL(TObjectCounter<TObject>::ObjectCount(), 1);
- {
- TObject obj1 = std::move(obj);
- UNIT_ASSERT_EQUAL(TObjectCounter<TObject>::ObjectCount(), 2);
- }
- UNIT_ASSERT_EQUAL(TObjectCounter<TObject>::ObjectCount(), 1);
- }
- } // Y_UNIT_TEST_SUITE(ObjectsCounter)
|