You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/09/22 09:41:05 UTC
[46/51] [abbrv] [partial] ignite git commit: IGNITE-1513: platform ->
platforms.
http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/cpp/core-test/src/cache_test.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/cpp/core-test/src/cache_test.cpp b/modules/platform/cpp/core-test/src/cache_test.cpp
deleted file mode 100644
index 3239d89..0000000
--- a/modules/platform/cpp/core-test/src/cache_test.cpp
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef _MSC_VER
- #define BOOST_TEST_DYN_LINK
-#endif
-
-#include <boost/test/unit_test.hpp>
-
-#include "ignite/cache/cache_peek_mode.h"
-#include "ignite/ignite.h"
-#include "ignite/ignition.h"
-
-using namespace ignite;
-using namespace boost::unit_test;
-
-/* Nodes started during the test. */
-Ignite grid0 = Ignite();
-Ignite grid1 = Ignite();
-
-/** Cache accessor. */
-cache::Cache<int, int> Cache()
-{
- return grid0.GetCache<int, int>("partitioned");
-}
-
-struct Person
-{
- std::string name;
- int age;
-
- Person() : name(""), age(0)
- {
- // No-op.
- }
-
- Person(std::string name, int age) : name(name), age(age)
- {
- // No-op.
- }
-};
-
-namespace ignite
-{
- namespace portable
- {
- IGNITE_PORTABLE_TYPE_START(Person)
- IGNITE_PORTABLE_GET_TYPE_ID_AS_HASH(Person)
- IGNITE_PORTABLE_GET_TYPE_NAME_AS_IS(Person)
- IGNITE_PORTABLE_GET_FIELD_ID_AS_HASH
- IGNITE_PORTABLE_GET_HASH_CODE_ZERO(Person)
- IGNITE_PORTABLE_IS_NULL_FALSE(Person)
- IGNITE_PORTABLE_GET_NULL_DEFAULT_CTOR(Person)
-
- void Write(PortableWriter& writer, Person obj)
- {
- writer.WriteString("name", obj.name);
- writer.WriteInt32("age", obj.age);
- }
-
- Person Read(PortableReader& reader)
- {
- std::string name = reader.ReadString("name");
- int age = reader.ReadInt32("age");
-
- return Person(name, age);
- }
-
- IGNITE_PORTABLE_TYPE_END
- }
-}
-
-/*
- * Test setup fixture.
- */
-struct CacheTestSuiteFixture {
- /*
- * Constructor.
- */
- CacheTestSuiteFixture()
- {
- IgniteConfiguration cfg;
-
- IgniteJvmOption opts[5];
-
- opts[0] = IgniteJvmOption("-Xdebug");
- opts[1] = IgniteJvmOption("-Xnoagent");
- opts[2] = IgniteJvmOption("-Djava.compiler=NONE");
- opts[3] = IgniteJvmOption("-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005");
- opts[4] = IgniteJvmOption("-XX:+HeapDumpOnOutOfMemoryError");
-
- cfg.jvmOptsLen = 5;
- cfg.jvmOpts = opts;
-
-#ifdef IGNITE_TESTS_32
- cfg.jvmInitMem = 256;
- cfg.jvmMaxMem = 768;
-#else
- cfg.jvmInitMem = 1024;
- cfg.jvmMaxMem = 4096;
-#endif
-
- char* cfgPath = getenv("IGNITE_NATIVE_TEST_CPP_CONFIG_PATH");
-
- std::string cfgPathStr = std::string(cfgPath).append("/").append("cache-test.xml");
-
- cfg.springCfgPath = const_cast<char*>(cfgPathStr.c_str());
-
- for (int i = 0; i < 2; i++)
- {
- std::stringstream stream;
-
- stream << "grid-" << i;
-
- IgniteError err;
-
- Ignite grid = Ignition::Start(cfg, stream.str().c_str(), &err);
-
- if (err.GetCode() != IgniteError::IGNITE_SUCCESS)
- BOOST_FAIL(err.GetText());
-
- if (i == 0)
- grid0 = grid;
- else
- grid1 = grid;
- }
- }
-
- /*
- * Destructor.
- */
- ~CacheTestSuiteFixture()
- {
- Ignition::Stop(grid0.GetName(), true);
- Ignition::Stop(grid1.GetName(), true);
-
- grid0 = Ignite();
- grid1 = Ignite();
- }
-};
-
-BOOST_FIXTURE_TEST_SUITE(CacheTestSuite, CacheTestSuiteFixture)
-
-BOOST_AUTO_TEST_CASE(TestRemoveAllKeys)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(1, 1);
- cache.Put(2, 2);
- cache.Put(3, 3);
-
- int size = cache.Size(cache::IGNITE_PEEK_MODE_PRIMARY);
-
- BOOST_REQUIRE(3 == size);
-
- cache.RemoveAll();
-
- size = cache.Size(cache::IGNITE_PEEK_MODE_ALL);
-
- BOOST_REQUIRE(0 == size);
-
- cache.Put(1, 1);
- cache.Put(2, 2);
- cache.Put(3, 3);
-
- int keys[] = { 1, 2, 4, 5 };
-
- std::set<int> keySet(keys, keys + 4);
-
- cache.RemoveAll(keySet);
-
- size = cache.Size(cache::IGNITE_PEEK_MODE_PRIMARY);
-
- BOOST_REQUIRE(1 == size);
-}
-
-BOOST_AUTO_TEST_CASE(TestPut)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(1, 1);
-
- BOOST_REQUIRE(1 == cache.Get(1));
-}
-
-BOOST_AUTO_TEST_CASE(TestPutAll)
-{
- std::map<int, int> map;
-
- for (int i = 0; i < 100; i++)
- map[i] = i + 1;
-
- cache::Cache<int, int> cache = Cache();
-
- cache.PutAll(map);
-
- for (int i = 0; i < 100; i++)
- BOOST_REQUIRE(i + 1 == cache.Get(i));
-}
-
-BOOST_AUTO_TEST_CASE(TestPutIfAbsent)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(true == cache.PutIfAbsent(1, 3));
- BOOST_REQUIRE(false == cache.PutIfAbsent(1, 3));
-}
-
-BOOST_AUTO_TEST_CASE(TestGet)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(1, 1);
- cache.Put(2, 2);
-
- BOOST_REQUIRE(1 == cache.Get(1));
- BOOST_REQUIRE(2 == cache.Get(2));
-
- BOOST_REQUIRE(0 == cache.Get(3));
-}
-
-BOOST_AUTO_TEST_CASE(TestGetAll)
-{
- cache::Cache<int, int> cache = Cache();
-
- int keys[] = { 1, 2, 3, 4, 5 };
-
- std::set<int> keySet (keys, keys + 5);
-
- for (int i = 0; i < keySet.size(); i++)
- cache.Put(i + 1, i + 1);
-
- std::map<int, int> map = cache.GetAll(keySet);
-
- for (int i = 0; i < keySet.size(); i++)
- BOOST_REQUIRE(i + 1 == map[i + 1]);
-}
-
-BOOST_AUTO_TEST_CASE(TestGetAndPut)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(0 == cache.GetAndPut(1, 3));
- BOOST_REQUIRE(3 == cache.GetAndPut(1, 1));
- BOOST_REQUIRE(1 == cache.GetAndPut(1, 0));
-}
-
-BOOST_AUTO_TEST_CASE(TestGetAndPutIfAbsent)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(0 == cache.GetAndPutIfAbsent(1, 3));
- BOOST_REQUIRE(3 == cache.GetAndPutIfAbsent(1, 1));
- BOOST_REQUIRE(3 == cache.GetAndPutIfAbsent(1, 1));
-}
-
-BOOST_AUTO_TEST_CASE(TestGetAndRemove)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(1, 3);
-
- BOOST_REQUIRE(3 == cache.GetAndRemove(1));
- BOOST_REQUIRE(0 == cache.GetAndRemove(1));
-}
-
-BOOST_AUTO_TEST_CASE(TestGetAndReplace)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(0 == cache.GetAndReplace(1, 3));
- BOOST_REQUIRE(0 == cache.GetAndReplace(1, 3));
-
- cache.Put(1, 5);
-
- BOOST_REQUIRE(5 == cache.GetAndReplace(1, 3));
- BOOST_REQUIRE(3 == cache.GetAndReplace(1, 3));
-}
-
-BOOST_AUTO_TEST_CASE(TestContainsKey)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(false == cache.ContainsKey(1));
-
- cache.Put(1, 1);
-
- BOOST_REQUIRE(true == cache.ContainsKey(1));
-
- BOOST_REQUIRE(true == cache.Remove(1));
-
- BOOST_REQUIRE(false == cache.ContainsKey(1));
-}
-
-BOOST_AUTO_TEST_CASE(TestContainsKeys)
-{
- cache::Cache<int, int> cache = Cache();
-
- int keys[] = { 1, 2 };
-
- std::set<int> keySet(keys, keys + 2);
-
- BOOST_REQUIRE(false == cache.ContainsKeys(keySet));
-
- cache.Put(1, 1);
- cache.Put(2, 2);
-
- BOOST_REQUIRE(true == cache.ContainsKeys(keySet));
-
- cache.Remove(1);
-
- BOOST_REQUIRE(false == cache.ContainsKeys(keySet));
-}
-
-BOOST_AUTO_TEST_CASE(TestIsEmpty)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(true == cache.IsEmpty());
-
- cache.Put(1, 1);
-
- BOOST_REQUIRE(false == cache.IsEmpty());
-
- cache.Remove(1);
-
- BOOST_REQUIRE(true == cache.IsEmpty());
-}
-
-BOOST_AUTO_TEST_CASE(TestRemove)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(false == cache.Remove(1));
-
- cache.Put(1, 1);
-
- BOOST_REQUIRE(true == cache.Remove(1));
- BOOST_REQUIRE(false == cache.Remove(1));
- BOOST_REQUIRE(false == cache.ContainsKey(1));
-}
-
-BOOST_AUTO_TEST_CASE(TestClear)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(1, 1);
-
- BOOST_REQUIRE(true == cache.ContainsKey(1));
-
- cache.Clear(1);
-
- BOOST_REQUIRE(false == cache.ContainsKey(1));
-}
-
-BOOST_AUTO_TEST_CASE(TestLocalClear)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(0, 2);
-
- BOOST_REQUIRE(2 == cache.LocalPeek(0, cache::IGNITE_PEEK_MODE_PRIMARY));
-
- cache.LocalClear(0);
-
- BOOST_REQUIRE(0 == cache.LocalPeek(0, cache::IGNITE_PEEK_MODE_PRIMARY));
-}
-
-BOOST_AUTO_TEST_CASE(TestLocalClearAll)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(0, 3);
- cache.Put(1, 3);
-
- int keys[] = { 0, 1 };
-
- std::set<int> keySet(keys, keys + 2);
-
- BOOST_REQUIRE(3 == cache.LocalPeek(0, cache::IGNITE_PEEK_MODE_PRIMARY));
- BOOST_REQUIRE(3 == cache.LocalPeek(1, cache::IGNITE_PEEK_MODE_PRIMARY));
-
- cache.LocalClearAll(keySet);
-
- BOOST_REQUIRE(0 == cache.LocalPeek(0, cache::IGNITE_PEEK_MODE_PRIMARY));
- BOOST_REQUIRE(0 == cache.LocalPeek(1, cache::IGNITE_PEEK_MODE_PRIMARY));
-}
-
-BOOST_AUTO_TEST_CASE(TestSizes)
-{
- cache::Cache<int, int> cache = Cache();
-
- BOOST_REQUIRE(0 == cache.Size());
-
- cache.Put(1, 1);
- cache.Put(2, 2);
-
- BOOST_REQUIRE(2 <= cache.Size());
-
- BOOST_REQUIRE(1 <= cache.LocalSize(cache::IGNITE_PEEK_MODE_PRIMARY));
-}
-
-BOOST_AUTO_TEST_CASE(TestLocalEvict)
-{
- cache::Cache<int, int> cache = Cache();
-
- cache.Put(1, 5);
-
- BOOST_REQUIRE(5 == cache.LocalPeek(1, cache::IGNITE_PEEK_MODE_ONHEAP));
-
- int keys[] = { 0, 1 };
-
- std::set<int> keySet(keys, keys + 2);
-
- cache.LocalEvict(keySet);
-
- BOOST_REQUIRE(0 == cache.LocalPeek(1, cache::IGNITE_PEEK_MODE_ONHEAP));
-
- BOOST_REQUIRE(5 == cache.Get(1));
-
- BOOST_REQUIRE(5 == cache.LocalPeek(1, cache::IGNITE_PEEK_MODE_ONHEAP));
-}
-
-BOOST_AUTO_TEST_CASE(TestPortable)
-{
- cache::Cache<int, Person> cache = grid0.GetCache<int, Person>("partitioned");
-
- Person person("John Johnson", 3);
-
- cache.Put(1, person);
-
- Person person0 = cache.Get(1);
-
- BOOST_REQUIRE(person.age == person0.age);
- BOOST_REQUIRE(person.name.compare(person0.name) == 0);
-}
-
-BOOST_AUTO_TEST_CASE(TestCreateCache)
-{
- // Create new cache
- cache::Cache<int, int> cache = grid0.CreateCache<int, int>("dynamic_cache");
-
- cache.Put(5, 7);
-
- BOOST_REQUIRE(7 == cache.Get(5));
-
- // Attempt to create cache with existing name
- IgniteError err;
-
- grid0.CreateCache<int, int>("dynamic_cache", &err);
-
- BOOST_REQUIRE(err.GetCode() != IgniteError::IGNITE_SUCCESS);
-}
-
-BOOST_AUTO_TEST_CASE(TestGetOrCreateCache)
-{
- // Get existing cache
- cache::Cache<int, int> cache = grid0.GetOrCreateCache<int, int>("partitioned");
-
- cache.Put(5, 7);
-
- BOOST_REQUIRE(7 == cache.Get(5));
-
- // Create new cache
- cache::Cache<int, int> cache2 = grid0.GetOrCreateCache<int, int>("partitioned_new");
-
- cache2.Put(5, 7);
-
- BOOST_REQUIRE(7 == cache2.Get(5));
-}
-
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/cpp/core-test/src/concurrent_test.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/cpp/core-test/src/concurrent_test.cpp b/modules/platform/cpp/core-test/src/concurrent_test.cpp
deleted file mode 100644
index 2d89b7a..0000000
--- a/modules/platform/cpp/core-test/src/concurrent_test.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef _MSC_VER
- #define BOOST_TEST_DYN_LINK
-#endif
-
-#include <boost/test/unit_test.hpp>
-
-#include <ignite/common/concurrent.h>
-
-using namespace ignite::common::concurrent;
-
-BOOST_AUTO_TEST_SUITE(ConcurrentTestSuite)
-
-BOOST_AUTO_TEST_CASE(TestAtomic32)
-{
- int32_t val = 1;
-
- BOOST_REQUIRE(Atomics::CompareAndSet32(&val, 1, 2));
- BOOST_REQUIRE(val == 2);
-
- BOOST_REQUIRE(!Atomics::CompareAndSet32(&val, 3, 1));
- BOOST_REQUIRE(val == 2);
-
- BOOST_REQUIRE(Atomics::CompareAndSet32Val(&val, 2, 3) == 2);
- BOOST_REQUIRE(val == 3);
-
- BOOST_REQUIRE(Atomics::CompareAndSet32Val(&val, 4, 2) == 3);
- BOOST_REQUIRE(val == 3);
-
- BOOST_REQUIRE(Atomics::IncrementAndGet32(&val) == 4);
- BOOST_REQUIRE(val == 4);
-
- BOOST_REQUIRE(Atomics::DecrementAndGet32(&val) == 3);
- BOOST_REQUIRE(val == 3);
-}
-
-BOOST_AUTO_TEST_CASE(TestAtomic64)
-{
- int64_t val = 1;
-
- BOOST_REQUIRE(Atomics::CompareAndSet64(&val, 1, 2));
- BOOST_REQUIRE(val == 2);
-
- BOOST_REQUIRE(!Atomics::CompareAndSet64(&val, 3, 1));
- BOOST_REQUIRE(val == 2);
-
- BOOST_REQUIRE(Atomics::CompareAndSet64Val(&val, 2, 3) == 2);
- BOOST_REQUIRE(val == 3);
-
- BOOST_REQUIRE(Atomics::CompareAndSet64Val(&val, 4, 2) == 3);
- BOOST_REQUIRE(val == 3);
-
- BOOST_REQUIRE(Atomics::IncrementAndGet64(&val) == 4);
- BOOST_REQUIRE(val == 4);
-
- BOOST_REQUIRE(Atomics::DecrementAndGet64(&val) == 3);
- BOOST_REQUIRE(val == 3);
-}
-
-BOOST_AUTO_TEST_CASE(TestThreadLocal)
-{
- int32_t idx1 = ThreadLocal::NextIndex();
- int32_t idx2 = ThreadLocal::NextIndex();
- BOOST_REQUIRE(idx2 > idx1);
-
- BOOST_REQUIRE(ThreadLocal::Get<int32_t>(idx1) == 0);
-
- ThreadLocal::Set(idx1, 1);
- BOOST_REQUIRE(ThreadLocal::Get<int32_t>(idx1) == 1);
-
- ThreadLocal::Set(idx1, 2);
- BOOST_REQUIRE(ThreadLocal::Get<int32_t>(idx1) == 2);
-
- ThreadLocal::Remove(idx1);
- BOOST_REQUIRE(ThreadLocal::Get<int32_t>(idx1) == 0);
-
- ThreadLocal::Set(idx1, 1);
- BOOST_REQUIRE(ThreadLocal::Get<int32_t>(idx1) == 1);
-
- ThreadLocal::Remove(idx1);
-}
-
-BOOST_AUTO_TEST_CASE(TestThreadLocalInstance)
-{
- ThreadLocalInstance<int32_t> val;
-
- BOOST_REQUIRE(val.Get() == 0);
-
- val.Set(1);
- BOOST_REQUIRE(val.Get() == 1);
-
- val.Set(2);
- BOOST_REQUIRE(val.Get() == 2);
-
- val.Remove();
- BOOST_REQUIRE(val.Get() == 0);
-
- val.Set(1);
- BOOST_REQUIRE(val.Get() == 1);
-
- val.Remove();
-}
-
-struct SharedPointerTarget
-{
- bool deleted;
-
- SharedPointerTarget() : deleted(false)
- {
- // No-op.
- }
-};
-
-void DeleteSharedPointerTarget(SharedPointerTarget* ptr)
-{
- ptr->deleted = true;
-}
-
-BOOST_AUTO_TEST_CASE(TestSharedPointer)
-{
- // 1. Test the simples scenario.
- SharedPointerTarget* target = new SharedPointerTarget();
-
- SharedPointer<SharedPointerTarget>* ptr1 =
- new SharedPointer<SharedPointerTarget>(target, DeleteSharedPointerTarget);
-
- delete ptr1;
- BOOST_REQUIRE(target->deleted);
-
- target->deleted = false;
-
- // 2. Test copy ctor.
- ptr1 = new SharedPointer<SharedPointerTarget>(target, DeleteSharedPointerTarget);
- SharedPointer<SharedPointerTarget>* ptr2 = new SharedPointer<SharedPointerTarget>(*ptr1);
-
- delete ptr1;
- BOOST_REQUIRE(!target->deleted);
-
- delete ptr2;
- BOOST_REQUIRE(target->deleted);
-
- target->deleted = false;
-
- // 3. Test assignment logic.
- ptr1 = new SharedPointer<SharedPointerTarget>(target, DeleteSharedPointerTarget);
-
- SharedPointer<SharedPointerTarget> ptr3 = *ptr1;
-
- delete ptr1;
- BOOST_REQUIRE(!target->deleted);
-
- ptr3 = SharedPointer<SharedPointerTarget>();
- BOOST_REQUIRE(target->deleted);
-
- target->deleted = false;
-
- // 4. Test self-assignment.
- ptr1 = new SharedPointer<SharedPointerTarget>(target, DeleteSharedPointerTarget);
-
- *ptr1 = *ptr1;
-
- delete ptr1;
-
- BOOST_REQUIRE(target->deleted);
-
- // 5. Tear-down.
- delete target;
-}
-
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/cpp/core-test/src/handle_registry_test.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/cpp/core-test/src/handle_registry_test.cpp b/modules/platform/cpp/core-test/src/handle_registry_test.cpp
deleted file mode 100644
index bc4a654..0000000
--- a/modules/platform/cpp/core-test/src/handle_registry_test.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef _MSC_VER
- #define BOOST_TEST_DYN_LINK
-#endif
-
-#include <boost/test/unit_test.hpp>
-
-#include "ignite/impl/handle_registry.h"
-
-using namespace ignite::common::concurrent;
-using namespace ignite::impl;
-
-struct HandleRegistryTestProbe
-{
- bool deleted;
-
- HandleRegistryTestProbe()
- {
- deleted = false;
- }
-};
-
-class HandleRegistryTestEntry : public HandleRegistryEntry
-{
-public:
- HandleRegistryTestEntry(HandleRegistryTestProbe* probe) : probe(probe)
- {
- // No-op.
- }
-
- virtual ~HandleRegistryTestEntry()
- {
- probe->deleted = true;
- }
-
-private:
- HandleRegistryTestProbe* probe;
-};
-
-BOOST_AUTO_TEST_SUITE(HandleRegistryTestSuite)
-
-BOOST_AUTO_TEST_CASE(TestCritical)
-{
- HandleRegistry reg(2, 1);
-
- HandleRegistryTestProbe probe0;
- HandleRegistryTestProbe probe1;
- HandleRegistryTestProbe probe2;
-
- HandleRegistryTestEntry* entry0 = new HandleRegistryTestEntry(&probe0);
- HandleRegistryTestEntry* entry1 = new HandleRegistryTestEntry(&probe1);
- HandleRegistryTestEntry* entry2 = new HandleRegistryTestEntry(&probe2);
-
- int64_t hnd0 = reg.AllocateCritical(SharedPointer<HandleRegistryEntry>(entry0));
- int64_t hnd1 = reg.AllocateCritical(SharedPointer<HandleRegistryEntry>(entry1));
- int64_t hnd2 = reg.AllocateCritical(SharedPointer<HandleRegistryEntry>(entry2));
-
- BOOST_REQUIRE(reg.Get(hnd0).Get() == entry0);
- BOOST_REQUIRE(!probe0.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd1).Get() == entry1);
- BOOST_REQUIRE(!probe1.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd2).Get() == entry2);
- BOOST_REQUIRE(!probe2.deleted);
-
- reg.Release(hnd0);
-
- BOOST_REQUIRE(reg.Get(hnd0).Get() == NULL);
- BOOST_REQUIRE(probe0.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd1).Get() == entry1);
- BOOST_REQUIRE(!probe1.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd2).Get() == entry2);
- BOOST_REQUIRE(!probe2.deleted);
-
- reg.Close();
-
- BOOST_REQUIRE(reg.Get(hnd0).Get() == NULL);
- BOOST_REQUIRE(probe0.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd1).Get() == NULL);
- BOOST_REQUIRE(probe1.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd2).Get() == NULL);
- BOOST_REQUIRE(probe2.deleted);
-
- HandleRegistry closedReg(2, 1);
-
- closedReg.Close();
-
- HandleRegistryTestProbe closedProbe;
- HandleRegistryTestEntry* closedEntry = new HandleRegistryTestEntry(&closedProbe);
-
- int64_t closedHnd = closedReg.AllocateCritical(SharedPointer<HandleRegistryEntry>(closedEntry));
- BOOST_REQUIRE(closedHnd == -1);
- BOOST_REQUIRE(closedProbe.deleted);
-}
-
-BOOST_AUTO_TEST_CASE(TestNonCritical)
-{
- HandleRegistry reg(0, 2);
-
- HandleRegistryTestProbe probe0;
- HandleRegistryTestProbe probe1;
- HandleRegistryTestProbe probe2;
-
- HandleRegistryTestEntry* entry0 = new HandleRegistryTestEntry(&probe0);
- HandleRegistryTestEntry* entry1 = new HandleRegistryTestEntry(&probe1);
- HandleRegistryTestEntry* entry2 = new HandleRegistryTestEntry(&probe2);
-
- int64_t hnd0 = reg.AllocateCritical(SharedPointer<HandleRegistryEntry>(entry0));
- int64_t hnd1 = reg.Allocate(SharedPointer<HandleRegistryEntry>(entry1));
- int64_t hnd2 = reg.Allocate(SharedPointer<HandleRegistryEntry>(entry2));
-
- BOOST_REQUIRE(reg.Get(hnd0).Get() == entry0);
- BOOST_REQUIRE(!probe0.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd1).Get() == entry1);
- BOOST_REQUIRE(!probe1.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd2).Get() == entry2);
- BOOST_REQUIRE(!probe2.deleted);
-
- reg.Release(hnd0);
-
- BOOST_REQUIRE(reg.Get(hnd0).Get() == NULL);
- BOOST_REQUIRE(probe0.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd1).Get() == entry1);
- BOOST_REQUIRE(!probe1.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd2).Get() == entry2);
- BOOST_REQUIRE(!probe2.deleted);
-
- reg.Close();
-
- BOOST_REQUIRE(reg.Get(hnd0).Get() == NULL);
- BOOST_REQUIRE(probe0.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd1).Get() == NULL);
- BOOST_REQUIRE(probe1.deleted);
-
- BOOST_REQUIRE(reg.Get(hnd2).Get() == NULL);
- BOOST_REQUIRE(probe2.deleted);
-
- HandleRegistry closedReg(0, 2);
-
- closedReg.Close();
-
- HandleRegistryTestProbe closedProbe;
- HandleRegistryTestEntry* closedEntry = new HandleRegistryTestEntry(&closedProbe);
-
- int64_t closedHnd = closedReg.Allocate(SharedPointer<HandleRegistryEntry>(closedEntry));
- BOOST_REQUIRE(closedHnd == -1);
- BOOST_REQUIRE(closedProbe.deleted);
-}
-
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/cpp/core-test/src/ignition_test.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/cpp/core-test/src/ignition_test.cpp b/modules/platform/cpp/core-test/src/ignition_test.cpp
deleted file mode 100644
index e0e26d3..0000000
--- a/modules/platform/cpp/core-test/src/ignition_test.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef _MSC_VER
- #define BOOST_TEST_DYN_LINK
-#endif
-
-#include <boost/test/unit_test.hpp>
-
-#include "ignite/ignite.h"
-#include "ignite/ignition.h"
-
-using namespace ignite;
-using namespace boost::unit_test;
-
-BOOST_AUTO_TEST_SUITE(IgnitionTestSuite)
-
-BOOST_AUTO_TEST_CASE(TestIgnition)
-{
- IgniteConfiguration cfg;
-
- IgniteJvmOption opts[5];
-
- opts[0] = IgniteJvmOption("-Xdebug");
- opts[1] = IgniteJvmOption("-Xnoagent");
- opts[2] = IgniteJvmOption("-Djava.compiler=NONE");
- opts[3] = IgniteJvmOption("-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005");
- opts[4] = IgniteJvmOption("-XX:+HeapDumpOnOutOfMemoryError");
-
- cfg.jvmOptsLen = 5;
- cfg.jvmOpts = opts;
-
-#ifdef IGNITE_TESTS_32
- cfg.jvmInitMem = 256;
- cfg.jvmMaxMem = 768;
-#else
- cfg.jvmInitMem = 1024;
- cfg.jvmMaxMem = 4096;
-#endif
-
- char* cfgPath = getenv("IGNITE_NATIVE_TEST_CPP_CONFIG_PATH");
-
- std::string cfgPathStr = std::string(cfgPath).append("/").append("cache-test.xml");
-
- cfg.springCfgPath = const_cast<char*>(cfgPathStr.c_str());
-
- IgniteError err;
-
- // Start two Ignite instances.
- Ignite grid1 = Ignition::Start(cfg, "ignitionTest-1", &err);
-
- if (err.GetCode() != IgniteError::IGNITE_SUCCESS)
- BOOST_ERROR(err.GetText());
-
- BOOST_REQUIRE(strcmp(grid1.GetName(), "ignitionTest-1") == 0);
-
- Ignite grid2 = Ignition::Start(cfg, "ignitionTest-2", &err);
-
- if (err.GetCode() != IgniteError::IGNITE_SUCCESS)
- BOOST_ERROR(err.GetText());
-
- BOOST_REQUIRE(strcmp(grid2.GetName(), "ignitionTest-2") == 0);
-
- // Test get
- Ignite grid0 = Ignition::Get("ignitionTest-1", &err);
-
- if (err.GetCode() != IgniteError::IGNITE_SUCCESS)
- BOOST_ERROR(err.GetText());
-
- BOOST_REQUIRE(strcmp(grid0.GetName(), grid1.GetName()) == 0);
-
- // Stop one grid
- Ignition::Stop(grid1.GetName(), true);
-
- Ignition::Get("ignitionTest-1", &err);
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_GENERIC);
-
- Ignition::Get("ignitionTest-2", &err);
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_SUCCESS);
-
- // Stop all
- Ignition::StopAll(true);
-
- Ignition::Get("ignitionTest-2", &err);
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_GENERIC);
-}
-
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/cpp/core-test/src/portable_reader_writer_raw_test.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/cpp/core-test/src/portable_reader_writer_raw_test.cpp b/modules/platform/cpp/core-test/src/portable_reader_writer_raw_test.cpp
deleted file mode 100644
index c3a98aa..0000000
--- a/modules/platform/cpp/core-test/src/portable_reader_writer_raw_test.cpp
+++ /dev/null
@@ -1,1532 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef _MSC_VER
- #define BOOST_TEST_DYN_LINK
-#endif
-
-#include <boost/test/unit_test.hpp>
-
-#include "ignite/impl/interop/interop.h"
-#include "ignite/portable/portable.h"
-
-#include "ignite/portable_test_defs.h"
-#include "ignite/portable_test_utils.h"
-
-using namespace ignite;
-using namespace ignite::impl::interop;
-using namespace ignite::impl::portable;
-using namespace ignite::portable;
-using namespace ignite_test::core::portable;
-
-template<typename T>
-void CheckRawPrimitive(T val)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- Write<T>(rawWriter, val);
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- T readVal = Read<T>(rawReader);
-
- BOOST_REQUIRE(readVal == val);
-}
-
-template<typename T>
-void CheckRawPrimitiveArray(T dflt, T val1, T val2)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- // 1. Write NULL and see what happens.
- WriteArray<T>(rawWriter, NULL, 0);
-
- out.Synchronize();
- in.Synchronize();
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 0) == -1);
-
- in.Position(0);
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 2) == -1);
-
- T arr1[2];
- arr1[0] = dflt;
- arr1[1] = dflt;
-
- in.Position(0);
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 1) == -1);
-
- BOOST_REQUIRE(arr1[0] == dflt);
- BOOST_REQUIRE(arr1[1] == dflt);
-
- // 2. Write empty array.
- T arr2[2];
- arr2[0] = val1;
- arr2[1] = val2;
-
- out.Position(0);
- in.Position(0);
-
- WriteArray<T>(rawWriter, arr2, 0);
-
- out.Synchronize();
- in.Synchronize();
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 0) == 0);
-
- in.Position(0);
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 2) == 0);
-
- in.Position(0);
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 0) == 0);
- BOOST_REQUIRE(arr1[0] == dflt);
- BOOST_REQUIRE(arr1[1] == dflt);
-
- in.Position(0);
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 2) == 0);
- BOOST_REQUIRE(arr1[0] == dflt);
- BOOST_REQUIRE(arr1[1] == dflt);
-
- // 3. Partial array write.
- out.Position(0);
- in.Position(0);
-
- WriteArray<T>(rawWriter, arr2, 1);
-
- out.Synchronize();
- in.Synchronize();
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 0) == 1);
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 2) == 1);
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 0) == 1);
- BOOST_REQUIRE(arr1[0] == dflt);
- BOOST_REQUIRE(arr1[1] == dflt);
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 1) == 1);
- BOOST_REQUIRE(arr1[0] == val1);
- BOOST_REQUIRE(arr1[1] == dflt);
- arr1[0] = dflt;
-
- in.Position(0);
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 2) == 1);
- BOOST_REQUIRE(arr1[0] == val1);
- BOOST_REQUIRE(arr1[1] == dflt);
- arr1[0] = dflt;
-
- // 4. Full array write.
- out.Position(0);
- in.Position(0);
-
- WriteArray<T>(rawWriter, arr2, 2);
-
- out.Synchronize();
- in.Synchronize();
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 0) == 2);
- BOOST_REQUIRE(ReadArray<T>(rawReader, NULL, 2) == 2);
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 0) == 2);
- BOOST_REQUIRE(arr1[0] == dflt);
- BOOST_REQUIRE(arr1[1] == dflt);
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 1) == 2);
- BOOST_REQUIRE(arr1[0] == dflt);
- BOOST_REQUIRE(arr1[1] == dflt);
-
- BOOST_REQUIRE(ReadArray<T>(rawReader, arr1, 2) == 2);
- BOOST_REQUIRE(arr1[0] == val1);
- BOOST_REQUIRE(arr1[1] == val2);
-}
-
-void CheckRawWritesRestricted(PortableRawWriter& writer)
-{
- try
- {
- writer.WriteInt8(1);
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- int8_t arr[1];
-
- writer.WriteInt8Array(arr, 1);
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- Guid val(1, 1);
-
- writer.WriteGuid(val);
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- writer.WriteString("test");
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- writer.WriteArray<int8_t>();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- writer.WriteCollection<int8_t>();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- writer.WriteMap<int8_t, int8_t>();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-}
-
-void CheckRawReadsRestricted(PortableRawReader& reader)
-{
- try
- {
- reader.ReadInt8();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- int8_t arr[1];
-
- reader.ReadInt8Array(arr, 1);
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- reader.ReadGuid();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- reader.ReadString();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- reader.ReadArray<int8_t>();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- reader.ReadCollection<int8_t>();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- reader.ReadMap<int8_t, int8_t>();
-
- BOOST_FAIL("Not restricted.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-}
-
-void CheckRawCollectionEmpty(CollectionType* colType)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableCollectionWriter<PortableInner> colWriter = colType ?
- rawWriter.WriteCollection<PortableInner>(*colType) : rawWriter.WriteCollection<PortableInner>();
-
- CheckRawWritesRestricted(rawWriter);
-
- colWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- colWriter.Write(1);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- colWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableCollectionReader<PortableInner> colReader = rawReader.ReadCollection<PortableInner>();
-
- if (colType)
- BOOST_REQUIRE(colReader.GetType() == *colType);
- else
- BOOST_REQUIRE(colReader.GetType() == IGNITE_COLLECTION_UNDEFINED);
-
- BOOST_REQUIRE(colReader.GetSize() == 0);
- BOOST_REQUIRE(!colReader.HasNext());
- BOOST_REQUIRE(!colReader.IsNull());
-
- try
- {
- colReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-void CheckRawCollection(CollectionType* colType)
-{
- PortableInner writeVal1 = PortableInner(1);
- PortableInner writeVal2 = PortableInner(0);
- PortableInner writeVal3 = PortableInner(2);
-
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableCollectionWriter<PortableInner> colWriter = colType ?
- rawWriter.WriteCollection<PortableInner>(*colType) : rawWriter.WriteCollection<PortableInner>();
-
- colWriter.Write(writeVal1);
- colWriter.Write(writeVal2);
- colWriter.Write(writeVal3);
-
- CheckRawWritesRestricted(rawWriter);
-
- colWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- colWriter.Write(1);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- colWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableCollectionReader<PortableInner> colReader = rawReader.ReadCollection<PortableInner>();
-
- CheckRawReadsRestricted(rawReader);
-
- if (colType)
- BOOST_REQUIRE(colReader.GetType() == *colType);
- else
- BOOST_REQUIRE(colReader.GetType() == IGNITE_COLLECTION_UNDEFINED);
-
- BOOST_REQUIRE(colReader.GetSize() == 3);
- BOOST_REQUIRE(!colReader.IsNull());
-
- BOOST_REQUIRE(colReader.HasNext());
- BOOST_REQUIRE(colReader.GetNext().GetValue() == writeVal1.GetValue());
-
- BOOST_REQUIRE(colReader.HasNext());
- BOOST_REQUIRE(colReader.GetNext().GetValue() == writeVal2.GetValue());
-
- BOOST_REQUIRE(colReader.HasNext());
- BOOST_REQUIRE(colReader.GetNext().GetValue() == writeVal3.GetValue());
-
- BOOST_REQUIRE(!colReader.HasNext());
-
- try
- {
- colReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-void CheckRawMapEmpty(MapType* mapType)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableMapWriter<int8_t, PortableInner> mapWriter = mapType ?
- rawWriter.WriteMap<int8_t, PortableInner>(*mapType) : rawWriter.WriteMap<int8_t, PortableInner>();
-
- CheckRawWritesRestricted(rawWriter);
-
- mapWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- mapWriter.Write(1, PortableInner(1));
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- mapWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableMapReader<int8_t, PortableInner> mapReader = rawReader.ReadMap<int8_t, PortableInner>();
-
- if (mapType)
- BOOST_REQUIRE(mapReader.GetType() == *mapType);
- else
- BOOST_REQUIRE(mapReader.GetType() == IGNITE_MAP_UNDEFINED);
-
- BOOST_REQUIRE(mapReader.GetSize() == 0);
- BOOST_REQUIRE(!mapReader.HasNext());
- BOOST_REQUIRE(!mapReader.IsNull());
-
- try
- {
- int8_t key;
- PortableInner val;
-
- mapReader.GetNext(&key, &val);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-void CheckRawMap(MapType* mapType)
-{
- PortableInner writeVal1 = PortableInner(1);
- PortableInner writeVal2 = PortableInner(0);
- PortableInner writeVal3 = PortableInner(2);
-
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableMapWriter<int8_t, PortableInner> mapWriter = mapType ?
- rawWriter.WriteMap<int8_t, PortableInner>(*mapType) : rawWriter.WriteMap<int8_t, PortableInner>();
-
- mapWriter.Write(1, writeVal1);
- mapWriter.Write(2, writeVal2);
- mapWriter.Write(3, writeVal3);
-
- CheckRawWritesRestricted(rawWriter);
-
- mapWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- mapWriter.Write(4, PortableInner(4));
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- mapWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableMapReader<int8_t, PortableInner> mapReader = rawReader.ReadMap<int8_t, PortableInner>();
-
- CheckRawReadsRestricted(rawReader);
-
- if (mapType)
- BOOST_REQUIRE(mapReader.GetType() == *mapType);
- else
- BOOST_REQUIRE(mapReader.GetType() == IGNITE_MAP_UNDEFINED);
-
- BOOST_REQUIRE(mapReader.GetSize() == 3);
- BOOST_REQUIRE(!mapReader.IsNull());
-
- int8_t key;
- PortableInner val;
-
- BOOST_REQUIRE(mapReader.HasNext());
-
- mapReader.GetNext(&key, &val);
- BOOST_REQUIRE(key == 1);
- BOOST_REQUIRE(val.GetValue() == writeVal1.GetValue());
-
- mapReader.GetNext(&key, &val);
- BOOST_REQUIRE(key == 2);
- BOOST_REQUIRE(val.GetValue() == writeVal2.GetValue());
-
- mapReader.GetNext(&key, &val);
- BOOST_REQUIRE(key == 3);
- BOOST_REQUIRE(val.GetValue() == writeVal3.GetValue());
-
- BOOST_REQUIRE(!mapReader.HasNext());
-
- try
- {
- mapReader.GetNext(&key, &val);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_SUITE(PortableReaderWriterRawTestSuite)
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveInt8)
-{
- CheckRawPrimitive<int8_t>(1);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveBool)
-{
- CheckRawPrimitive<bool>(true);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveInt16)
-{
- CheckRawPrimitive<int16_t>(1);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveUInt16)
-{
- CheckRawPrimitive<uint16_t>(1);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveInt32)
-{
- CheckRawPrimitive<int32_t>(1);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveInt64)
-{
- CheckRawPrimitive<int64_t>(1);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveFloat)
-{
- CheckRawPrimitive<float>(1.1f);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveDouble)
-{
- CheckRawPrimitive<double>(1.1);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveGuid)
-{
- Guid val(1, 2);
-
- CheckRawPrimitive<Guid>(val);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayInt8)
-{
- CheckRawPrimitiveArray<int8_t>(1, 2, 3);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayBool)
-{
- CheckRawPrimitiveArray<bool>(false, true, false);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayInt16)
-{
- CheckRawPrimitiveArray<int16_t>(1, 2, 3);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayUInt16)
-{
- CheckRawPrimitiveArray<uint16_t>(1, 2, 3);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayInt32)
-{
- CheckRawPrimitiveArray<int32_t>(1, 2, 3);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayInt64)
-{
- CheckRawPrimitiveArray<int64_t>(1, 2, 3);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayFloat)
-{
- CheckRawPrimitiveArray<float>(1.1f, 2.2f, 3.3f);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayDouble)
-{
- CheckRawPrimitiveArray<double>(1.1, 2.2, 3.3);
-}
-
-BOOST_AUTO_TEST_CASE(TestPrimitiveArrayGuid)
-{
- Guid dflt(1, 2);
- Guid val1(3, 4);
- Guid val2(5, 6);
-
- CheckRawPrimitiveArray<Guid>(dflt, val1, val2);
-}
-
-BOOST_AUTO_TEST_CASE(TestGuidNull)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- rawWriter.WriteNull();
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- Guid expVal;
- Guid actualVal = rawReader.ReadGuid();
-
- BOOST_REQUIRE(actualVal == expVal);
-}
-
-BOOST_AUTO_TEST_CASE(TestString) {
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- const char* writeVal1 = "testtest";
- const char* writeVal2 = "test";
- std::string writeVal3 = writeVal1;
-
- rawWriter.WriteString(writeVal1);
- rawWriter.WriteString(writeVal1, 4);
- rawWriter.WriteString(writeVal3);
- rawWriter.WriteString(NULL);
- rawWriter.WriteString(NULL, 4);
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- char readVal1[9];
- char readVal2[5];
-
- BOOST_REQUIRE(rawReader.ReadString(NULL, 0) == 8);
- BOOST_REQUIRE(rawReader.ReadString(NULL, 8) == 8);
- BOOST_REQUIRE(rawReader.ReadString(readVal1, 0) == 8);
- BOOST_REQUIRE(rawReader.ReadString(readVal1, 4) == 8);
-
- BOOST_REQUIRE(rawReader.ReadString(readVal1, 9) == 8);
- std::string writeVal1Str = writeVal1;
- std::string readVal1Str = readVal1;
- BOOST_REQUIRE(readVal1Str.compare(writeVal1Str) == 0);
-
- BOOST_REQUIRE(rawReader.ReadString(readVal2, 5) == 4);
- std::string writeVal2Str = writeVal2;
- std::string readVal2Str = readVal2;
- BOOST_REQUIRE(readVal2Str.compare(writeVal2Str) == 0);
-
- std::string readVal3 = rawReader.ReadString();
- BOOST_REQUIRE(readVal3.compare(writeVal3) == 0);
-
- BOOST_REQUIRE(rawReader.ReadString(readVal1, 9) == -1);
- BOOST_REQUIRE(rawReader.ReadString(readVal1, 9) == -1);
-}
-
-BOOST_AUTO_TEST_CASE(TestStringArrayNull)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- rawWriter.WriteNull();
- rawWriter.WriteInt8(1);
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableStringArrayReader arrReader = rawReader.ReadStringArray();
-
- BOOST_REQUIRE(arrReader.GetSize() == -1);
- BOOST_REQUIRE(!arrReader.HasNext());
- BOOST_REQUIRE(arrReader.IsNull());
-
- try
- {
- char res[100];
-
- arrReader.GetNext(res, 100);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- arrReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestStringArrayEmpty)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableStringArrayWriter arrWriter = rawWriter.WriteStringArray();
-
- CheckRawWritesRestricted(rawWriter);
-
- arrWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- const char* val = "test";
-
- arrWriter.Write(val, 4);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- const char* val = "test";
-
- arrWriter.Write(val);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- std::string val = "test";
-
- arrWriter.Write(val);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- arrWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableStringArrayReader arrReader = rawReader.ReadStringArray();
-
- BOOST_REQUIRE(arrReader.GetSize() == 0);
- BOOST_REQUIRE(!arrReader.HasNext());
- BOOST_REQUIRE(!arrReader.IsNull());
-
- try
- {
- char res[100];
-
- arrReader.GetNext(res, 100);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- arrReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestStringArray)
-{
- const char* writeVal1 = "testtest";
- const char* writeVal2 = "test";
- std::string writeVal3 = "test2";
-
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableStringArrayWriter arrWriter = rawWriter.WriteStringArray();
-
- arrWriter.Write(writeVal1);
- arrWriter.Write(writeVal1, 4);
- arrWriter.Write(NULL); // NULL value.
- arrWriter.Write(NULL, 100); // NULL value again.
- arrWriter.Write(writeVal3);
-
- CheckRawWritesRestricted(rawWriter);
-
- arrWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- const char* val = "test";
-
- arrWriter.Write(val, 4);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- const char* val = "test";
-
- arrWriter.Write(val);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- std::string val = "test";
-
- arrWriter.Write(val);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- arrWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableStringArrayReader arrReader = rawReader.ReadStringArray();
-
- CheckRawReadsRestricted(rawReader);
-
- BOOST_REQUIRE(arrReader.GetSize() == 5);
- BOOST_REQUIRE(!arrReader.IsNull());
-
- // 1. Read first value.
- BOOST_REQUIRE(arrReader.HasNext());
-
- char readVal1[9];
-
- BOOST_REQUIRE(arrReader.GetNext(NULL, 0) == 8);
- BOOST_REQUIRE(arrReader.GetNext(NULL, 8) == 8);
- BOOST_REQUIRE(arrReader.GetNext(readVal1, 0) == 8);
- BOOST_REQUIRE(arrReader.GetNext(readVal1, 4) == 8);
-
- BOOST_REQUIRE(arrReader.GetNext(readVal1, 9) == 8);
- std::string writeVal1Str = writeVal1;
- std::string readVal1Str = readVal1;
- BOOST_REQUIRE(readVal1Str.compare(writeVal1Str) == 0);
-
- // 2. Read second value.
- BOOST_REQUIRE(arrReader.HasNext());
-
- char readVal2[5];
-
- BOOST_REQUIRE(arrReader.GetNext(readVal2, 5) == 4);
- std::string writeVal2Str = writeVal2;
- std::string readVal2Str = readVal2;
- BOOST_REQUIRE(readVal2Str.compare(writeVal2Str) == 0);
-
- // 3. Read NULL.
- BOOST_REQUIRE(arrReader.HasNext());
-
- BOOST_REQUIRE(arrReader.GetNext(readVal1, 4) == -1);
- readVal1Str = readVal1;
- BOOST_REQUIRE(readVal1Str.compare(writeVal1Str) == 0);
-
- // 4. Read NULL again, this time through another method.
- BOOST_REQUIRE(arrReader.HasNext());
-
- std::string readNullVal = arrReader.GetNext();
-
- BOOST_REQUIRE(readNullVal.length() == 0);
-
- // 5. Read third value.
- BOOST_REQUIRE(arrReader.HasNext());
-
- std::string readVal3 = arrReader.GetNext();
- BOOST_REQUIRE(readVal3.compare(writeVal3) == 0);
-
- BOOST_REQUIRE(!arrReader.HasNext());
-
- try
- {
- char res[100];
-
- arrReader.GetNext(res, 100);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- arrReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestObject)
-{
- PortableInner writeVal1(1);
- PortableInner writeVal2(0);
-
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- rawWriter.WriteObject(writeVal1);
- rawWriter.WriteObject(writeVal2);
- rawWriter.WriteNull();
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableInner readVal1 = rawReader.ReadObject<PortableInner>();
- BOOST_REQUIRE(writeVal1.GetValue() == readVal1.GetValue());
-
- PortableInner readVal2 = rawReader.ReadObject<PortableInner>();
- BOOST_REQUIRE(writeVal2.GetValue() == readVal2.GetValue());
-
- PortableInner readVal3 = rawReader.ReadObject<PortableInner>();
- BOOST_REQUIRE(0 == readVal3.GetValue());
-}
-
-BOOST_AUTO_TEST_CASE(TestNestedObject)
-{
- PortableOuter writeVal1(1, 2);
- PortableOuter writeVal2(0, 0);
-
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- rawWriter.WriteObject(writeVal1);
- rawWriter.WriteObject(writeVal2);
- rawWriter.WriteNull();
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableOuter readVal1 = rawReader.ReadObject<PortableOuter>();
- BOOST_REQUIRE(writeVal1.GetValue() == readVal1.GetValue());
- BOOST_REQUIRE(writeVal1.GetInner().GetValue() == readVal1.GetInner().GetValue());
-
- PortableOuter readVal2 = rawReader.ReadObject<PortableOuter>();
- BOOST_REQUIRE(writeVal2.GetValue() == readVal2.GetValue());
- BOOST_REQUIRE(writeVal2.GetInner().GetValue() == readVal2.GetInner().GetValue());
-
- PortableOuter readVal3 = rawReader.ReadObject<PortableOuter>();
- BOOST_REQUIRE(0 == readVal3.GetValue());
- BOOST_REQUIRE(0 == readVal3.GetInner().GetValue());
-}
-
-BOOST_AUTO_TEST_CASE(TestArrayNull)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- rawWriter.WriteNull();
- rawWriter.WriteInt8(1);
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableArrayReader<PortableInner> arrReader = rawReader.ReadArray<PortableInner>();
-
- BOOST_REQUIRE(arrReader.GetSize() == -1);
- BOOST_REQUIRE(!arrReader.HasNext());
- BOOST_REQUIRE(arrReader.IsNull());
-
- try
- {
- arrReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestArrayEmpty)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableArrayWriter<PortableInner> arrWriter = rawWriter.WriteArray<PortableInner>();
-
- CheckRawWritesRestricted(rawWriter);
-
- arrWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- arrWriter.Write(1);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- arrWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableArrayReader<PortableInner> arrReader = rawReader.ReadArray<PortableInner>();
-
- BOOST_REQUIRE(arrReader.GetSize() == 0);
- BOOST_REQUIRE(!arrReader.HasNext());
- BOOST_REQUIRE(!arrReader.IsNull());
-
- try
- {
- arrReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestArray)
-{
- PortableInner writeVal1 = PortableInner(1);
- PortableInner writeVal2 = PortableInner(0);
- PortableInner writeVal3 = PortableInner(2);
-
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- PortableArrayWriter<PortableInner> arrWriter = rawWriter.WriteArray<PortableInner>();
-
- arrWriter.Write(writeVal1);
- arrWriter.Write(writeVal2);
- arrWriter.Write(writeVal3);
-
- CheckRawWritesRestricted(rawWriter);
-
- arrWriter.Close();
-
- rawWriter.WriteInt8(1);
-
- try
- {
- arrWriter.Write(1);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- try
- {
- arrWriter.Close();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableArrayReader<PortableInner> arrReader = rawReader.ReadArray<PortableInner>();
-
- CheckRawReadsRestricted(rawReader);
-
- BOOST_REQUIRE(arrReader.GetSize() == 3);
- BOOST_REQUIRE(!arrReader.IsNull());
-
- BOOST_REQUIRE(arrReader.HasNext());
- BOOST_REQUIRE(arrReader.GetNext().GetValue() == writeVal1.GetValue());
-
- BOOST_REQUIRE(arrReader.HasNext());
- BOOST_REQUIRE(arrReader.GetNext().GetValue() == writeVal2.GetValue());
-
- BOOST_REQUIRE(arrReader.HasNext());
- BOOST_REQUIRE(arrReader.GetNext().GetValue() == writeVal3.GetValue());
-
- BOOST_REQUIRE(!arrReader.HasNext());
-
- try
- {
- arrReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestCollectionNull)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- rawWriter.WriteNull();
- rawWriter.WriteInt8(1);
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableCollectionReader<PortableInner> colReader = rawReader.ReadCollection<PortableInner>();
-
- BOOST_REQUIRE(colReader.GetType() == IGNITE_COLLECTION_UNDEFINED);
- BOOST_REQUIRE(colReader.GetSize() == -1);
- BOOST_REQUIRE(!colReader.HasNext());
- BOOST_REQUIRE(colReader.IsNull());
-
- try
- {
- colReader.GetNext();
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestCollectionEmpty)
-{
- CheckRawCollectionEmpty(NULL);
-}
-
-BOOST_AUTO_TEST_CASE(TestCollectionEmptyTyped)
-{
- CollectionType typ = IGNITE_COLLECTION_CONCURRENT_SKIP_LIST_SET;
-
- CheckRawCollectionEmpty(&typ);
-}
-
-BOOST_AUTO_TEST_CASE(TestCollection)
-{
- CheckRawCollection(NULL);
-}
-
-BOOST_AUTO_TEST_CASE(testCollectionTyped)
-{
- CollectionType typ = IGNITE_COLLECTION_CONCURRENT_SKIP_LIST_SET;
-
- CheckRawCollection(&typ);
-}
-
-BOOST_AUTO_TEST_CASE(TestMapNull)
-{
- InteropUnpooledMemory mem(1024);
-
- InteropOutputStream out(&mem);
- PortableWriterImpl writer(&out, NULL);
- PortableRawWriter rawWriter(&writer);
-
- rawWriter.WriteNull();
- rawWriter.WriteInt8(1);
-
- out.Synchronize();
-
- InteropInputStream in(&mem);
- PortableReaderImpl reader(&in);
- PortableRawReader rawReader(&reader);
-
- PortableMapReader<int8_t, PortableInner> mapReader = rawReader.ReadMap<int8_t, PortableInner>();
-
- BOOST_REQUIRE(mapReader.GetType() == IGNITE_MAP_UNDEFINED);
- BOOST_REQUIRE(mapReader.GetSize() == -1);
- BOOST_REQUIRE(!mapReader.HasNext());
- BOOST_REQUIRE(mapReader.IsNull());
-
- try
- {
- int8_t key;
- PortableInner val;
-
- mapReader.GetNext(&key, &val);
-
- BOOST_FAIL("Error expected.");
- }
- catch (IgniteError& err)
- {
- BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
- }
-
- BOOST_REQUIRE(rawReader.ReadInt8() == 1);
-}
-
-BOOST_AUTO_TEST_CASE(TestMapEmpty)
-{
- CheckRawMapEmpty(NULL);
-}
-
-BOOST_AUTO_TEST_CASE(TestMapEmptyTyped)
-{
- MapType typ = IGNITE_MAP_CONCURRENT_HASH_MAP;
-
- CheckRawMapEmpty(&typ);
-}
-
-BOOST_AUTO_TEST_CASE(TestMap)
-{
- CheckRawMap(NULL);
-}
-
-BOOST_AUTO_TEST_CASE(TestMapTyped)
-{
- MapType typ = IGNITE_MAP_CONCURRENT_HASH_MAP;
-
- CheckRawMap(&typ);
-}
-
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file