| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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 <geode/CacheFactory.hpp> |
| #include <geode/Region.hpp> |
| #include <geode/RegionEntry.hpp> |
| #include <geode/RegionAttributesFactory.hpp> |
| |
| #include "CacheImpl.hpp" |
| #include "CacheRegionHelper.hpp" |
| |
| #include "fw_helper.hpp" |
| |
| using apache::geode::client::Cache; |
| using apache::geode::client::Cacheable; |
| using apache::geode::client::CacheableBytes; |
| using apache::geode::client::CacheableInt32; |
| using apache::geode::client::CacheableString; |
| using apache::geode::client::CacheFactory; |
| using apache::geode::client::CacheRegionHelper; |
| using apache::geode::client::Region; |
| using apache::geode::client::RegionAttributesFactory; |
| using apache::geode::client::RegionEntry; |
| |
| bool CheckBytesEqual(std::shared_ptr<CacheableBytes> result, |
| std::shared_ptr<Cacheable> expected) { |
| auto expectedPtr = std::dynamic_pointer_cast<CacheableBytes>(expected); |
| // Assume that the bytes are really a char* |
| return result->value() == expectedPtr->value(); |
| } |
| |
| // This test checks the template methods of Region API with all possible |
| // combinations of key and value types. |
| |
| // NOLINTNEXTLINE(google-readability-function-size) |
| BEGIN_TEST(CheckTemplates) |
| { |
| auto cacheFactory = CacheFactory(); |
| auto cache = std::make_shared<Cache>(cacheFactory.create()); |
| RegionAttributesFactory regionAttributesFactory; |
| auto regionAttributes = regionAttributesFactory.create(); |
| std::shared_ptr<Region> regPtr; |
| auto &&cacheImpl = CacheRegionHelper::getCacheImpl(cache.get()); |
| cacheImpl->createRegion("TestRegion", regionAttributes, regPtr); |
| |
| const char charKey[] = "test key"; |
| const char charVal[] = "test value"; |
| int intKey = 10; |
| int intVal = 100; |
| const char stringKey[] = "test string key"; |
| const char stringVal[] = "test string value"; |
| const char baseKey[] = "test base key"; |
| const char baseVal[] = "test base value"; |
| int int32Key = 100; |
| auto stringPtr = CacheableString::create(stringKey); |
| auto int32Ptr = CacheableInt32::create(int32Key); |
| auto bytesPtr = CacheableBytes::create( |
| std::vector<int8_t>(stringVal, stringVal + sizeof(stringVal))); |
| auto keyPtr = CacheableString::create(baseKey); |
| auto valPtr = CacheableBytes::create( |
| std::vector<int8_t>(baseVal, baseVal + sizeof(baseVal))); |
| |
| std::shared_ptr<CacheableBytes> resValPtr; |
| std::shared_ptr<CacheableString> resStringPtr; |
| std::shared_ptr<CacheableInt32> resInt32Ptr; |
| std::shared_ptr<RegionEntry> resEntryPtr; |
| |
| /* ------ Test puts/gets of various shapes and sizes --------- */ |
| |
| // With valPtr |
| |
| regPtr->put(keyPtr, valPtr); |
| regPtr->put(stringPtr, valPtr); |
| regPtr->put(int32Ptr, valPtr); |
| regPtr->put(charKey, valPtr); |
| regPtr->put(intKey, valPtr); |
| |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(keyPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "put/get:: incorrect valPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(stringPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "put/get:: incorrect valPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(int32Ptr)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "put/get:: incorrect valPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(intKey)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "put/get:: incorrect valPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(charKey)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "put/get:: incorrect valPtr value"); |
| |
| // End with valPtr |
| |
| // With bytesPtr |
| |
| regPtr->put(keyPtr, bytesPtr); |
| regPtr->put(stringPtr, bytesPtr); |
| regPtr->put(int32Ptr, bytesPtr); |
| regPtr->put(charKey, bytesPtr); |
| regPtr->put(intKey, bytesPtr); |
| |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(keyPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "put/get:: incorrect bytesPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(stringPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "put/get:: incorrect bytesPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(int32Ptr)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "put/get:: incorrect bytesPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(intKey)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "put/get:: incorrect bytesPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(charKey)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "put/get:: incorrect bytesPtr value"); |
| |
| // End with bytesPtr |
| |
| // With stringPtr |
| |
| regPtr->put(keyPtr, stringPtr); |
| regPtr->put(stringPtr, stringPtr); |
| regPtr->put(int32Ptr, stringPtr); |
| regPtr->put(charKey, stringPtr); |
| regPtr->put(intKey, stringPtr); |
| |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(keyPtr)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "put/get:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(stringPtr)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "put/get:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(int32Ptr)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "put/get:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(intKey)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "put/get:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(charKey)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "put/get:: incorrect stringPtr value"); |
| |
| // End with stringPtr |
| |
| // With int32Ptr |
| |
| regPtr->put(keyPtr, int32Ptr); |
| regPtr->put(stringPtr, int32Ptr); |
| regPtr->put(int32Ptr, int32Ptr); |
| regPtr->put(charKey, int32Ptr); |
| regPtr->put(intKey, int32Ptr); |
| |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(keyPtr)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "put/get:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(stringPtr)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "put/get:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(int32Ptr)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "put/get:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(intKey)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "put/get:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(charKey)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "put/get:: incorrect int32Ptr value"); |
| |
| // End with int32Ptr |
| |
| // With charVal |
| |
| regPtr->put(keyPtr, charVal); |
| regPtr->put(stringPtr, charVal); |
| regPtr->put(int32Ptr, charVal); |
| regPtr->put(charKey, charVal); |
| regPtr->put(intKey, charVal); |
| |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(keyPtr)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "put/get:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(stringPtr)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "put/get:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(int32Ptr)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "put/get:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(intKey)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "put/get:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(charKey)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "put/get:: incorrect charVal value"); |
| |
| // End with charVal |
| |
| // With intVal |
| |
| regPtr->put(keyPtr, intVal); |
| regPtr->put(stringPtr, intVal); |
| regPtr->put(int32Ptr, intVal); |
| regPtr->put(charKey, intVal); |
| regPtr->put(intKey, intVal); |
| |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(keyPtr)); |
| ASSERT(resInt32Ptr->value() == intVal, "put/get:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(stringPtr)); |
| ASSERT(resInt32Ptr->value() == intVal, "put/get:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(int32Ptr)); |
| ASSERT(resInt32Ptr->value() == intVal, "put/get:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(intKey)); |
| ASSERT(resInt32Ptr->value() == intVal, "put/get:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(charKey)); |
| ASSERT(resInt32Ptr->value() == intVal, "put/get:: incorrect intVal value"); |
| |
| // End with intVal |
| |
| /* ---------- End put/get tests ------------ */ |
| |
| /* ------ Test creates/gets/localDestroys of various shapes and sizes |
| * --------- */ |
| |
| // With valPtr |
| |
| regPtr->destroy(keyPtr); |
| regPtr->destroy(stringPtr); |
| regPtr->destroy(int32Ptr); |
| regPtr->destroy(charKey); |
| regPtr->destroy(intKey); |
| |
| regPtr->create(keyPtr, valPtr); |
| regPtr->create(stringPtr, valPtr); |
| regPtr->create(int32Ptr, valPtr); |
| regPtr->create(charKey, valPtr); |
| regPtr->create(intKey, valPtr); |
| |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(keyPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/get/localDestroy:: incorrect valPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(stringPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/get/localDestroy:: incorrect valPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(int32Ptr)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/get/localDestroy:: incorrect valPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(intKey)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/get/localDestroy:: incorrect valPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(charKey)); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/get/localDestroy:: incorrect valPtr value"); |
| |
| regPtr->localInvalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| |
| // End with valPtr |
| |
| // With bytesPtr |
| |
| regPtr->create(keyPtr, bytesPtr); |
| regPtr->create(stringPtr, bytesPtr); |
| regPtr->create(int32Ptr, bytesPtr); |
| regPtr->create(charKey, bytesPtr); |
| regPtr->create(intKey, bytesPtr); |
| |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(keyPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/get/localDestroy:: incorrect bytesPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(stringPtr)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/get/localDestroy:: incorrect bytesPtr value"); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(int32Ptr)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/get/localDestroy:: incorrect bytesPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(intKey)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/get/localDestroy:: incorrect bytesPtr value"); |
| resValPtr = std::dynamic_pointer_cast<CacheableBytes>(regPtr->get(charKey)); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/get/localDestroy:: incorrect bytesPtr value"); |
| |
| regPtr->localInvalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| |
| // End with bytesPtr |
| |
| // With stringPtr |
| |
| regPtr->create(keyPtr, stringPtr); |
| regPtr->create(stringPtr, stringPtr); |
| regPtr->create(int32Ptr, stringPtr); |
| regPtr->create(charKey, stringPtr); |
| regPtr->create(intKey, stringPtr); |
| |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(keyPtr)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/get/localDestroy:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(stringPtr)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/get/localDestroy:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(int32Ptr)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/get/localDestroy:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(intKey)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/get/localDestroy:: incorrect stringPtr value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(charKey)); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/get/localDestroy:: incorrect stringPtr value"); |
| |
| regPtr->localInvalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| |
| // End with stringPtr |
| |
| // With int32Ptr |
| |
| regPtr->create(keyPtr, int32Ptr); |
| regPtr->create(stringPtr, int32Ptr); |
| regPtr->create(int32Ptr, int32Ptr); |
| regPtr->create(charKey, int32Ptr); |
| regPtr->create(intKey, int32Ptr); |
| |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(keyPtr)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/get/localDestroy:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(stringPtr)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/get/localDestroy:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(int32Ptr)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/get/localDestroy:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(intKey)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/get/localDestroy:: incorrect int32Ptr value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(charKey)); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/get/localDestroy:: incorrect int32Ptr value"); |
| |
| regPtr->localInvalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| |
| // End with int32Ptr |
| |
| // With charVal |
| |
| regPtr->create(keyPtr, charVal); |
| regPtr->create(stringPtr, charVal); |
| regPtr->create(int32Ptr, charVal); |
| regPtr->create(charKey, charVal); |
| regPtr->create(intKey, charVal); |
| |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(keyPtr)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/get/localDestroy:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(stringPtr)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/get/localDestroy:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(int32Ptr)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/get/localDestroy:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(intKey)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/get/localDestroy:: incorrect charVal value"); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(regPtr->get(charKey)); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/get/localDestroy:: incorrect charVal value"); |
| |
| regPtr->localInvalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| |
| // End with charVal |
| |
| // With intVal |
| |
| regPtr->create(keyPtr, intVal); |
| regPtr->create(stringPtr, intVal); |
| regPtr->create(int32Ptr, intVal); |
| regPtr->create(charKey, intVal); |
| regPtr->create(intKey, intVal); |
| |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(keyPtr)); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/get/localDestroy:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(stringPtr)); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/get/localDestroy:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(int32Ptr)); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/get/localDestroy:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(intKey)); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/get/localDestroy:: incorrect intVal value"); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(regPtr->get(charKey)); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/get/localDestroy:: incorrect intVal value"); |
| |
| regPtr->localInvalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| regPtr->localInvalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/get/localDestroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/get/localDestroy:: key not invalidated"); |
| regPtr->localDestroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/get/localDestroy:: key not destroyed"); |
| |
| // End with intVal |
| |
| /* ---------- End create/get/localDestroy tests ------------ */ |
| |
| /* ------ Test creates/getEntry/destroys of various shapes and sizes |
| * --------- */ |
| |
| // With valPtr |
| |
| regPtr->create(keyPtr, valPtr); |
| regPtr->create(stringPtr, valPtr); |
| regPtr->create(int32Ptr, valPtr); |
| regPtr->create(charKey, valPtr); |
| regPtr->create(intKey, valPtr); |
| |
| resEntryPtr = regPtr->getEntry(keyPtr); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/getEntry/destroy:: incorrect valPtr value"); |
| resEntryPtr = regPtr->getEntry(stringPtr); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/getEntry/destroy:: incorrect valPtr value"); |
| resEntryPtr = regPtr->getEntry(int32Ptr); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/getEntry/destroy:: incorrect valPtr value"); |
| resEntryPtr = regPtr->getEntry(charKey); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/getEntry/destroy:: incorrect valPtr value"); |
| resEntryPtr = regPtr->getEntry(intKey); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, valPtr), |
| "create/getEntry/destroy:: incorrect valPtr value"); |
| |
| regPtr->invalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| |
| // End with valPtr |
| |
| // With bytesPtr |
| |
| regPtr->create(keyPtr, bytesPtr); |
| regPtr->create(stringPtr, bytesPtr); |
| regPtr->create(int32Ptr, bytesPtr); |
| regPtr->create(charKey, bytesPtr); |
| regPtr->create(intKey, bytesPtr); |
| |
| resEntryPtr = regPtr->getEntry(keyPtr); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/getEntry/destroy:: incorrect bytesPtr value"); |
| resEntryPtr = regPtr->getEntry(stringPtr); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/getEntry/destroy:: incorrect bytesPtr value"); |
| resEntryPtr = regPtr->getEntry(int32Ptr); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/getEntry/destroy:: incorrect bytesPtr value"); |
| resEntryPtr = regPtr->getEntry(charKey); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/getEntry/destroy:: incorrect bytesPtr value"); |
| resEntryPtr = regPtr->getEntry(intKey); |
| resValPtr = |
| std::dynamic_pointer_cast<CacheableBytes>(resEntryPtr->getValue()); |
| ASSERT(CheckBytesEqual(resValPtr, bytesPtr), |
| "create/getEntry/destroy:: incorrect bytesPtr value"); |
| |
| regPtr->invalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| |
| // End with bytesPtr |
| |
| // With stringPtr |
| |
| regPtr->create(keyPtr, stringPtr); |
| regPtr->create(stringPtr, stringPtr); |
| regPtr->create(int32Ptr, stringPtr); |
| regPtr->create(charKey, stringPtr); |
| regPtr->create(intKey, stringPtr); |
| |
| resEntryPtr = regPtr->getEntry(keyPtr); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/getEntry/destroy:: incorrect stringPtr value"); |
| resEntryPtr = regPtr->getEntry(stringPtr); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/getEntry/destroy:: incorrect stringPtr value"); |
| resEntryPtr = regPtr->getEntry(int32Ptr); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/getEntry/destroy:: incorrect stringPtr value"); |
| resEntryPtr = regPtr->getEntry(intKey); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/getEntry/destroy:: incorrect stringPtr value"); |
| resEntryPtr = regPtr->getEntry(charKey); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(resStringPtr.get() == stringPtr.get(), |
| "create/getEntry/destroy:: incorrect stringPtr value"); |
| |
| regPtr->invalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| |
| // End with stringPtr |
| |
| // With int32Ptr |
| |
| regPtr->create(keyPtr, int32Ptr); |
| regPtr->create(stringPtr, int32Ptr); |
| regPtr->create(int32Ptr, int32Ptr); |
| regPtr->create(charKey, int32Ptr); |
| regPtr->create(intKey, int32Ptr); |
| |
| resEntryPtr = regPtr->getEntry(keyPtr); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/getEntry/destroy:: incorrect int32Ptr value"); |
| resEntryPtr = regPtr->getEntry(stringPtr); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/getEntry/destroy:: incorrect int32Ptr value"); |
| resEntryPtr = regPtr->getEntry(int32Ptr); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/getEntry/destroy:: incorrect int32Ptr value"); |
| resEntryPtr = regPtr->getEntry(intKey); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/getEntry/destroy:: incorrect int32Ptr value"); |
| resEntryPtr = regPtr->getEntry(charKey); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr.get() == int32Ptr.get(), |
| "create/getEntry/destroy:: incorrect int32Ptr value"); |
| |
| regPtr->invalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| |
| // End with int32Ptr |
| |
| // With charVal |
| |
| regPtr->create(keyPtr, charVal); |
| regPtr->create(stringPtr, charVal); |
| regPtr->create(int32Ptr, charVal); |
| regPtr->create(charKey, charVal); |
| regPtr->create(intKey, charVal); |
| |
| resEntryPtr = regPtr->getEntry(keyPtr); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/getEntry/destroy:: incorrect charVal value"); |
| resEntryPtr = regPtr->getEntry(stringPtr); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/getEntry/destroy:: incorrect charVal value"); |
| resEntryPtr = regPtr->getEntry(int32Ptr); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/getEntry/destroy:: incorrect charVal value"); |
| resEntryPtr = regPtr->getEntry(intKey); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/getEntry/destroy:: incorrect charVal value"); |
| resEntryPtr = regPtr->getEntry(charKey); |
| resStringPtr = |
| std::dynamic_pointer_cast<CacheableString>(resEntryPtr->getValue()); |
| ASSERT(strcmp(resStringPtr->value().c_str(), charVal) == 0, |
| "create/getEntry/destroy:: incorrect charVal value"); |
| |
| regPtr->invalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| |
| // End with charVal |
| |
| // With intVal |
| |
| regPtr->create(keyPtr, intVal); |
| regPtr->create(stringPtr, intVal); |
| regPtr->create(int32Ptr, intVal); |
| regPtr->create(charKey, intVal); |
| regPtr->create(intKey, intVal); |
| |
| resEntryPtr = regPtr->getEntry(keyPtr); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/getEntry/destroy:: incorrect intVal value"); |
| resEntryPtr = regPtr->getEntry(stringPtr); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/getEntry/destroy:: incorrect intVal value"); |
| resEntryPtr = regPtr->getEntry(int32Ptr); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/getEntry/destroy:: incorrect intVal value"); |
| resEntryPtr = regPtr->getEntry(intKey); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/getEntry/destroy:: incorrect intVal value"); |
| resEntryPtr = regPtr->getEntry(charKey); |
| resInt32Ptr = |
| std::dynamic_pointer_cast<CacheableInt32>(resEntryPtr->getValue()); |
| ASSERT(resInt32Ptr->value() == intVal, |
| "create/getEntry/destroy:: incorrect intVal value"); |
| |
| regPtr->invalidate(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(keyPtr); |
| ASSERT(regPtr->containsKey(keyPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(stringPtr); |
| ASSERT(regPtr->containsKey(stringPtr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(int32Ptr); |
| ASSERT(regPtr->containsKey(int32Ptr) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(charKey); |
| ASSERT(regPtr->containsKey(charKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(charKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(charKey); |
| ASSERT(regPtr->containsKey(charKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| regPtr->invalidate(intKey); |
| ASSERT(regPtr->containsKey(intKey) == true, |
| "create/getEntry/destroy:: key not present"); |
| ASSERT(regPtr->containsValueForKey(intKey) == false, |
| "create/getEntry/destroy:: key not invalidated"); |
| regPtr->destroy(intKey); |
| ASSERT(regPtr->containsKey(intKey) == false, |
| "create/getEntry/destroy:: key not destroyed"); |
| |
| // End with intVal |
| |
| /* ---------- End create/getEntry/destroy tests ------------ */ |
| |
| cache->close(); |
| } |
| END_TEST(CheckTemplates) |