/* * Copyright (c) 2023 Fancy Code. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "SharedData.h" #include "ILog.h" #include #include namespace SharedDataTest { // ../output_files/test/bin/SharedDataTest --gtest_filter=SharedDataTest.Demo TEST(SharedDataTest, Demo) { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); constexpr int PROJECT_ID = 9; SharedData *sharedDataPrimary = CreateSharedData(SHARER_NAME_PRIMARY, "./shared_file", PROJECT_ID); SharedData *sharedDataMinor = CreateSharedData(SHARER_NAME_MINOR, "./shared_file", PROJECT_ID); if (nullptr != sharedDataMinor) { int writableData = 99; sharedDataMinor->mMakeSharedData(sharedDataMinor, sizeof(int), sizeof(int)); sharedDataMinor->mSetWritableData(sharedDataMinor, &writableData, sizeof(int)); } if (nullptr != sharedDataPrimary) { int readableData = -1; sharedDataPrimary->mMakeSharedData(sharedDataPrimary, sizeof(int), sizeof(int)); sharedDataPrimary->mGetReadableData(sharedDataPrimary, &readableData, sizeof(int)); LogInfo("readableData = %d\n", readableData); sharedDataPrimary->mFree(sharedDataPrimary); } if (nullptr != sharedDataMinor) { sharedDataMinor->mFree(sharedDataMinor); } ILogUnInit(); } // ../output_files/test/bin/SharedDataTest --gtest_filter=SharedDataTest.Demo2 TEST(SharedDataTest, Demo2) { constexpr int WRITABLE_DATA = 189; CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); constexpr int PROJECT_ID = 9; SharedData *sharedDataPrimary = CreateSharedData(SHARER_NAME_PRIMARY, "./shared_file", PROJECT_ID); SharedData *sharedDataMinor = CreateSharedData(SHARER_NAME_MINOR, "./shared_file", PROJECT_ID); if (nullptr != sharedDataMinor) { IMakeSharedData(sharedDataMinor, sizeof(int), sizeof(int)); ISetWritableData(sharedDataMinor, (void *)&WRITABLE_DATA, sizeof(int)); } if (nullptr != sharedDataPrimary) { int readableData = 0; IMakeSharedData(sharedDataPrimary, sizeof(int), sizeof(int)); StatusCode code = IGetReadableData(sharedDataPrimary, &readableData, sizeof(int)); PrintStringCode(code); LogInfo("readableData = %d\n", readableData); EXPECT_EQ(readableData, WRITABLE_DATA); IFree(sharedDataPrimary); } if (nullptr != sharedDataMinor) { IFree(sharedDataMinor); } ILogUnInit(); } // ../output_files/test/bin/SharedDataTest --gtest_filter=SharedDataTest.Demo3 TEST(SharedDataTest, Demo3) { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); constexpr int PROJECT_ID = 9; SharedData *sharedDataPrimary = CreateSharedData(SHARER_NAME_PRIMARY, "./shared_file", PROJECT_ID); SharedData *sharedDataMinor = CreateSharedData(SHARER_NAME_MINOR, "./shared_file", PROJECT_ID); if (nullptr != sharedDataMinor) { constexpr int WRITABLE_DATA_LENGTH = 9; char writableData[WRITABLE_DATA_LENGTH] = {0}; IMakeSharedData(sharedDataMinor, sizeof(int), sizeof(writableData)); ISetWritableData(sharedDataMinor, writableData, sizeof(writableData)); } if (nullptr != sharedDataPrimary) { constexpr int DEFAULT_DATA = 0; int readableData = DEFAULT_DATA; IMakeSharedData(sharedDataPrimary, sizeof(int), sizeof(int)); StatusCode code = IGetReadableData(sharedDataPrimary, &readableData, sizeof(int)); PrintStringCode(code); LogInfo("readableData = %d\n", readableData); EXPECT_NE(code.mStatusCode, STATUS_CODE_OK); EXPECT_EQ(readableData, DEFAULT_DATA); IFree(sharedDataPrimary); } if (nullptr != sharedDataMinor) { IFree(sharedDataMinor); } ILogUnInit(); } // ../output_files/test/bin/SharedDataTest --gtest_filter=SharedDataTest.Demo4 TEST(SharedDataTest, Demo4) { constexpr int WRITABLE_DATA = 189; CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); constexpr int PROJECT_ID = 9; SharedData *sharedDataPrimary = CreateSharedData(SHARER_NAME_PRIMARY, "./shared_file", PROJECT_ID); SharedData *sharedDataMinor = CreateSharedData(SHARER_NAME_MINOR, "./shared_file", PROJECT_ID); if (nullptr != sharedDataMinor) { IMakeSharedData(sharedDataMinor, sizeof(int) * 2, sizeof(int)); ISetWritableData(sharedDataMinor, (void *)&WRITABLE_DATA, sizeof(int)); } if (nullptr != sharedDataPrimary) { constexpr int DEFAULT_DATA = 0; int readableData = DEFAULT_DATA; IMakeSharedData(sharedDataPrimary, sizeof(int), sizeof(int)); StatusCode code = IGetReadableData(sharedDataPrimary, &readableData, sizeof(int)); PrintStringCode(code); LogInfo("readableData = %d\n", readableData); EXPECT_EQ(code.mStatusCode, STATUS_CODE_OK); EXPECT_EQ(readableData, WRITABLE_DATA); IFree(sharedDataPrimary); } if (nullptr != sharedDataMinor) { IFree(sharedDataMinor); } ILogUnInit(); } // ../output_files/test/bin/SharedDataTest --gtest_filter=SharedDataTest.Demo5 TEST(SharedDataTest, Demo5) { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); constexpr int PROJECT_ID = 9; SharedData *sharedDataPrimary = CreateSharedData(SHARER_NAME_PRIMARY, "./shared_file", PROJECT_ID); if (nullptr != sharedDataPrimary) { constexpr int DEFAULT_DATA = 0; int readableData = DEFAULT_DATA; IMakeSharedData(sharedDataPrimary, sizeof(int), sizeof(int)); StatusCode code = IGetReadableData(sharedDataPrimary, &readableData, sizeof(int)); PrintStringCode(code); LogInfo("readableData = %d\n", readableData); EXPECT_NE(code.mStatusCode, STATUS_CODE_OK); EXPECT_EQ(readableData, DEFAULT_DATA); IFree(sharedDataPrimary); } ILogUnInit(); } // ../output_files/test/bin/SharedDataTest --gtest_filter=SharedDataTest.Demo6 TEST(SharedDataTest, Demo6) { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); constexpr int PROJECT_ID = 9; SharedData *sharedDataPrimary = CreateSharedData(SHARER_NAME_PRIMARY, "./shared_file", PROJECT_ID); SharedData *sharedDataMinor = CreateSharedData(SHARER_NAME_MINOR, "./shared_file", PROJECT_ID); if (nullptr != sharedDataPrimary) { constexpr int DEFAULT_DATA = 0; int readableData = DEFAULT_DATA; IMakeSharedData(sharedDataPrimary, sizeof(int), sizeof(int)); StatusCode code = IGetReadableData(sharedDataPrimary, &readableData, sizeof(int)); PrintStringCode(code); LogInfo("readableData = %d\n", readableData); EXPECT_NE(code.mStatusCode, STATUS_CODE_OK); EXPECT_EQ(readableData, DEFAULT_DATA); IFree(sharedDataPrimary); } if (nullptr != sharedDataMinor) { IFree(sharedDataMinor); } ILogUnInit(); } // ../output_files/test/bin/SharedDataTest --gtest_filter=SharedDataTest.Demo7 TEST(SharedDataTest, Demo7) { constexpr int WRITABLE_DATA = 189; CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); constexpr int PROJECT_ID = 9; SharedData *sharedDataPrimary = CreateSharedData(SHARER_NAME_PRIMARY, "./shared_file", PROJECT_ID); SharedData *sharedDataMinor = CreateSharedData(SHARER_NAME_MINOR, "./shared_file", PROJECT_ID); if (nullptr != sharedDataPrimary) { IMakeSharedData(sharedDataPrimary, sizeof(int), sizeof(int)); ISetWritableData(sharedDataPrimary, (void *)&WRITABLE_DATA, sizeof(int)); } if (nullptr != sharedDataMinor) { constexpr int DEFAULT_DATA = 0; int readableData = DEFAULT_DATA; IMakeSharedData(sharedDataMinor, sizeof(int), sizeof(int)); StatusCode code = IGetReadableData(sharedDataMinor, &readableData, sizeof(int)); PrintStringCode(code); LogInfo("readableData = %d\n", readableData); EXPECT_EQ(code.mStatusCode, STATUS_CODE_OK); EXPECT_EQ(readableData, WRITABLE_DATA); IFree(sharedDataMinor); } if (nullptr != sharedDataPrimary) { IFree(sharedDataPrimary); } ILogUnInit(); } } // namespace SharedDataTest