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:19:19 UTC

[17/37] ignite git commit: IGNITE-1513: WIP on .Net.

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml
deleted file mode 100644
index 9af4611..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xsi:schemaLocation="
-        http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd
-        http://www.springframework.org/schema/util
-        http://www.springframework.org/schema/util/spring-util.xsd">
-    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
-        <property name="localHost" value="127.0.0.1"/>
-        <property name="connectorConfiguration"><null/></property>
-
-        <property name="includeEventTypes">
-            <util:constant static-field="org.apache.ignite.events.EventType.EVTS_CACHE"/>
-        </property>
-
-        <property name="cacheConfiguration">
-            <list>
-                <bean class="org.apache.ignite.configuration.CacheConfiguration">
-                    <property name="name" value="portable_store"/>
-                    <property name="cacheMode" value="LOCAL"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="writeThrough" value="true"/>
-                    <property name="readThrough" value="true"/>
-
-                    <property name="cacheStoreFactory">
-                        <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
-                        </bean>
-                    </property>
-                </bean>
-
-                <bean class="org.apache.ignite.configuration.CacheConfiguration">
-                    <property name="name" value="object_store"/>
-                    <property name="cacheMode" value="LOCAL"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="writeThrough" value="true"/>
-                    <property name="readThrough" value="true"/>
-                    <property name="keepPortableInStore" value="false"/>
-
-                    <property name="cacheStoreFactory">
-                        <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
-                        </bean>
-                    </property>
-                </bean>
-
-                <bean class="org.apache.ignite.configuration.CacheConfiguration">
-                    <property name="name" value="template_store*"/>
-                    <property name="cacheMode" value="LOCAL"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="writeThrough" value="true"/>
-                    <property name="readThrough" value="true"/>
-                    <property name="keepPortableInStore" value="false"/>
-
-                    <property name="cacheStoreFactory">
-                        <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
-                        </bean>
-                    </property>
-                </bean>
-
-                <bean class="org.apache.ignite.configuration.CacheConfiguration">
-                    <property name="name" value="custom_store"/>
-                    <property name="cacheMode" value="LOCAL"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="writeThrough" value="true"/>
-                    <property name="readThrough" value="true"/>
-                    
-                    <property name="cacheStoreFactory">
-                        <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
-                            <property name="properties">
-                                <map>
-                                    <entry key="IntProperty">
-                                        <value type="java.lang.Integer">42</value>
-                                    </entry>
-                                    <entry key="StringProperty" value="String value"/>
-                                </map>
-                            </property>
-                        </bean>
-                    </property>
-                </bean>
-            </list>
-        </property>
-
-        <property name="discoverySpi">
-            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
-                <property name="ipFinder">
-                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
-                        <property name="addresses">
-                            <list>
-                                <!-- In distributed environment, replace with actual host IP address. -->
-                                <value>127.0.0.1:47500..47501</value>
-                            </list>
-                        </property>
-                    </bean>
-                </property>
-            </bean>
-        </property>
-    </bean>
-</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml
deleted file mode 100644
index c48e867..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache.xml
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xsi:schemaLocation="
-        http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd
-        http://www.springframework.org/schema/util
-        http://www.springframework.org/schema/util/spring-util.xsd">
-    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
-        <property name="localHost" value="127.0.0.1"/>
-        <property name="connectorConfiguration"><null/></property>
-
-        <property name="includeEventTypes">
-            <util:constant static-field="org.apache.ignite.events.EventType.EVTS_CACHE"/>
-        </property>
-
-        <property name="cacheConfiguration">
-            <list>
-                <bean parent="cache-template">
-                    <property name="name" value="local"/>
-                    <property name="cacheMode" value="LOCAL"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="startSize" value="10"/>
-                </bean>
-
-                <bean parent="cache-template">
-                    <property name="name" value="local_atomic"/>
-                    <property name="cacheMode" value="LOCAL"/>
-                    <property name="atomicityMode" value="ATOMIC"/>
-                    <property name="startSize" value="10"/>
-                </bean>
-
-                <bean parent="cache-template">
-                    <property name="name" value="partitioned"/>
-                    <property name="cacheMode" value="PARTITIONED"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="startSize" value="10"/>
-                </bean>
-
-                <bean parent="cache-template">
-                    <property name="name" value="partitioned_atomic"/>
-                    <property name="cacheMode" value="PARTITIONED"/>
-                    <property name="atomicityMode" value="ATOMIC"/>
-                    <property name="atomicWriteOrderMode" value="PRIMARY"/>
-                    <property name="startSize" value="10"/>
-                </bean>
-
-                <bean parent="cache-template">
-                    <property name="name" value="partitioned_near"/>
-                    <property name="cacheMode" value="PARTITIONED"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="nearConfiguration">
-                        <bean class="org.apache.ignite.configuration.NearCacheConfiguration" />
-                    </property>
-                    <property name="startSize" value="10"/>
-                </bean>
-
-                <bean parent="cache-template">
-                    <property name="name" value="partitioned_atomic_near"/>
-                    <property name="cacheMode" value="PARTITIONED"/>
-                    <property name="atomicityMode" value="ATOMIC"/>
-                    <property name="atomicWriteOrderMode" value="PRIMARY"/>
-                    <property name="nearConfiguration">
-                        <bean class="org.apache.ignite.configuration.NearCacheConfiguration" />
-                    </property>
-                    <property name="startSize" value="10"/>
-                </bean>
-
-                <bean parent="cache-template">
-                    <property name="name" value="replicated"/>
-                    <property name="cacheMode" value="REPLICATED"/>
-                    <property name="atomicityMode" value="TRANSACTIONAL"/>
-                    <property name="startSize" value="10"/>
-                </bean>
-
-                <bean parent="cache-template">
-                    <property name="name" value="replicated_atomic"/>
-                    <property name="cacheMode" value="REPLICATED"/>
-                    <property name="atomicityMode" value="ATOMIC"/>
-                    <property name="atomicWriteOrderMode" value="PRIMARY"/>
-                    <property name="startSize" value="10"/>
-                </bean>
-                
-                <bean parent="cache-template">
-                    <property name="name" value="template*"/>
-                    <property name="startSize" value="10"/>
-                </bean>
-            </list>
-        </property>
-
-        <property name="swapSpaceSpi">
-            <bean class="org.apache.ignite.spi.swapspace.inmemory.GridTestSwapSpaceSpi"/>
-        </property>
-
-        <property name="discoverySpi">
-            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
-                <property name="ipFinder">
-                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
-                        <property name="addresses">
-                            <list>
-                                <!-- In distributed environment, replace with actual host IP address. -->
-                                <value>127.0.0.1:47500..47501</value>
-                            </list>
-                        </property>
-                    </bean>
-                </property>
-            </bean>
-        </property>
-
-        <property name="transactionConfiguration">
-            <bean class="org.apache.ignite.configuration.TransactionConfiguration">
-                <property name="txSerializableEnabled" value="true"/>
-            </bean>
-        </property>
-    </bean>
-
-    <bean id="cache-template" abstract="true" class="org.apache.ignite.configuration.CacheConfiguration">
-        <property name="rebalanceMode" value="SYNC"/>
-        <property name="writeSynchronizationMode" value="FULL_SYNC"/>
-        <property name="swapEnabled" value="true"/>
-        <property name="backups" value="1"/>
-        <property name="eagerTtl" value="true"/>
-
-        <!--
-        <property name="typeMetadata">
-            <list>
-                <bean class="org.apache.ignite.cache.CacheTypeMetadata">
-                    <property name="valueType" value="GridPortablePerson"/>
-                    <property name="ascendingFields">
-                        <map>
-                            <entry key="age" value="java.lang.Integer"/>
-                        </map>
-                    </property>
-                    <property name="queryFields">
-                        <map>
-                            <entry key="name" value="java.lang.String"/>
-                        </map>
-                    </property>
-                    <property name="textFields">
-                        <list>
-                            <value>address</value>
-                        </list>
-                    </property>
-                </bean>
-                <bean class="org.apache.ignite.cache.CacheTypeMetadata">
-                    <property name="valueType" value="GridImplicitPortablePerson"/>
-                    <property name="ascendingFields">
-                        <map>
-                            <entry key="age" value="java.lang.Integer"/>
-                        </map>
-                    </property>
-                    <property name="queryFields">
-                        <map>
-                            <entry key="name" value="java.lang.String"/>
-                        </map>
-                    </property>
-                </bean>
-                <bean class="org.apache.ignite.cache.CacheTypeMetadata">
-                    <property name="valueType" value="GridNoDefPortablePerson"/>
-                    <property name="ascendingFields">
-                        <map>
-                            <entry key="age" value="java.lang.Integer"/>
-                        </map>
-                    </property>
-                    <property name="queryFields">
-                        <map>
-                            <entry key="name" value="java.lang.String"/>
-                        </map>
-                    </property>
-                </bean>
-            </list>
-        </property>
-        -->
-    </bean>
-</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/portable.xml
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/portable.xml b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/portable.xml
deleted file mode 100644
index f013749..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/portable.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd">
-    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
-        <property name="localHost" value="127.0.0.1"/>
-        <property name="connectorConfiguration"><null/></property>
-
-        <property name="gridName" value="grid"/>
-
-        <property name="metricsUpdateFrequency" value="1000"/>
-        <property name="metricsLogFrequency" value="0"/>
-
-        <property name="cacheConfiguration">
-            <list>
-                <bean class="org.apache.ignite.configuration.CacheConfiguration">
-                    <property name="name" value="cache"/>
-                </bean>
-            </list>
-        </property>
-      
-        <property name="discoverySpi">
-            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
-                <property name="ipFinder">
-                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
-                        <property name="addresses">
-                            <list>
-                                <!-- In distributed environment, replace with actual host IP address. -->
-                                <value>127.0.0.1:47500..47502</value>
-                            </list>
-                        </property>
-                    </bean>
-                </property>
-            </bean>
-        </property>
-    </bean>
-</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid1.xml
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid1.xml b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid1.xml
deleted file mode 100644
index 8559173..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid1.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd">
-    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
-        <property name="localHost" value="127.0.0.1"/>
-        <property name="connectorConfiguration"><null/></property>
-
-        <property name="gridName" value="grid1"/>
-
-        <property name="cacheConfiguration">
-            <list>
-                <bean class="org.apache.ignite.configuration.CacheConfiguration">
-                    <property name="name" value="cache1"/>
-                    <property name="rebalanceMode" value="SYNC"/>
-                </bean>
-            </list>
-        </property>
-
-        <property name="discoverySpi">
-            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
-                <property name="ipFinder">
-                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
-                        <property name="addresses">
-                            <list>
-                                <!-- In distributed environment, replace with actual host IP address. -->
-                                <value>127.0.0.1:47500..47502</value>
-                            </list>
-                        </property>
-                    </bean>
-                </property>
-            </bean>
-        </property>
-    </bean>
-</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid2.xml
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid2.xml b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid2.xml
deleted file mode 100644
index cb628fe..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid2.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd">
-    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
-        <property name="localHost" value="127.0.0.1"/>
-        <property name="connectorConfiguration"><null/></property>
-
-        <property name="gridName" value="grid2"/>
-
-        <property name="discoverySpi">
-            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
-                <property name="ipFinder">
-                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
-                        <property name="addresses">
-                            <list>
-                                <!-- In distributed environment, replace with actual host IP address. -->
-                                <value>127.0.0.1:47500..47502</value>
-                            </list>
-                        </property>
-                    </bean>
-                </property>
-            </bean>
-        </property>
-    </bean>
-</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid3.xml
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid3.xml b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid3.xml
deleted file mode 100644
index 753fad1..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Config/start-test-grid3.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd">
-    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
-        <property name="localHost" value="127.0.0.1"/>
-        <property name="connectorConfiguration"><null/></property>
-
-        <property name="discoverySpi">
-            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
-                <property name="ipFinder">
-                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
-                        <property name="addresses">
-                            <list>
-                                <!-- In distributed environment, replace with actual host IP address. -->
-                                <value>127.0.0.1:47500..47502</value>
-                            </list>
-                        </property>
-                    </bean>
-                </property>
-            </bean>
-        </property>
-    </bean>
-</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Dataload/DataStreamerTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Dataload/DataStreamerTest.cs b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Dataload/DataStreamerTest.cs
deleted file mode 100644
index 245ed5f..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Dataload/DataStreamerTest.cs
+++ /dev/null
@@ -1,592 +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.
- */
-
-namespace Apache.Ignite.Core.Tests.Dataload
-{
-    using System;
-    using System.Collections.Generic;
-    using System.Diagnostics;
-    using System.Linq;
-    using System.Threading;
-    using Apache.Ignite.Core.Cache;
-    using Apache.Ignite.Core.Datastream;
-    using Apache.Ignite.Core.Impl;
-    using Apache.Ignite.Core.Portable;
-    using Apache.Ignite.Core.Tests.Cache;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Data streamer tests.
-    /// </summary>
-    public class DataStreamerTest
-    {
-        /** Node name. */
-        protected const string GridName = "grid";
-
-        /** Cache name. */
-        protected const string CacheName = "partitioned";
-
-        /** Node. */
-        private IIgnite _grid;
-
-        /** Cache. */
-        private ICache<int, int?> _cache;
-
-        /// <summary>
-        /// Initialization routine.
-        /// </summary>
-        [TestFixtureSetUp]
-        public virtual void InitClient()
-        {
-            _grid = Ignition.Start(GetIgniteConfiguration(GridName));
-
-            Ignition.Start(GetIgniteConfiguration(GridName + "_1"));
-
-            _cache = _grid.GetCache<int, int?>(CacheName);
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [TestFixtureTearDown]
-        public virtual void StopGrids()
-        {
-            Ignition.StopAll(true);
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [SetUp]
-        public virtual void BeforeTest()
-        {
-            Console.WriteLine("Test started: " + TestContext.CurrentContext.Test.Name);
-
-            for (int i = 0; i < 100; i++)
-                _cache.Remove(i);
-        }
-
-        [TearDown]
-        public void AfterTest()
-        {
-            TestUtils.AssertHandleRegistryIsEmpty(_grid, 1000);
-        }
-
-        /// <summary>
-        /// Test data streamer property configuration. Ensures that at least no exceptions are thrown.
-        /// </summary>
-        [Test]
-        public void TestPropertyPropagation()
-        {
-            using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                ldr.AllowOverwrite = true;
-                Assert.IsTrue(ldr.AllowOverwrite);
-                ldr.AllowOverwrite = false;
-                Assert.IsFalse(ldr.AllowOverwrite);
-
-                ldr.SkipStore = true;
-                Assert.IsTrue(ldr.SkipStore);
-                ldr.SkipStore = false;
-                Assert.IsFalse(ldr.SkipStore);
-
-                ldr.PerNodeBufferSize = 1;
-                Assert.AreEqual(1, ldr.PerNodeBufferSize);
-                ldr.PerNodeBufferSize = 2;
-                Assert.AreEqual(2, ldr.PerNodeBufferSize);
-
-                ldr.PerNodeParallelOperations = 1;
-                Assert.AreEqual(1, ldr.PerNodeParallelOperations);
-                ldr.PerNodeParallelOperations = 2;
-                Assert.AreEqual(2, ldr.PerNodeParallelOperations);
-            }
-        }
-
-        /// <summary>
-        /// Test data add/remove.
-        /// </summary>
-        [Test]        
-        public void TestAddRemove()
-        {
-            using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                ldr.AllowOverwrite = true;
-
-                // Additions.
-                ldr.AddData(1, 1);
-                ldr.Flush();                
-                Assert.AreEqual(1, _cache.Get(1));
-
-                ldr.AddData(new KeyValuePair<int, int>(2, 2));
-                ldr.Flush();
-                Assert.AreEqual(2, _cache.Get(2));
-
-                ldr.AddData(new List<KeyValuePair<int, int>> { new KeyValuePair<int, int>(3, 3), new KeyValuePair<int, int>(4, 4) });
-                ldr.Flush();
-                Assert.AreEqual(3, _cache.Get(3));
-                Assert.AreEqual(4, _cache.Get(4));
-
-                // Removal.
-                ldr.RemoveData(1);
-                ldr.Flush();
-                Assert.IsNull(_cache.Get(1));
-
-                // Mixed.
-                ldr.AddData(5, 5);                
-                ldr.RemoveData(2);
-                ldr.AddData(new KeyValuePair<int, int>(7, 7));
-                ldr.AddData(6, 6);
-                ldr.RemoveData(4);
-                ldr.AddData(new List<KeyValuePair<int, int>> { new KeyValuePair<int, int>(9, 9), new KeyValuePair<int, int>(10, 10) });
-                ldr.AddData(new KeyValuePair<int, int>(8, 8));
-                ldr.RemoveData(3);
-                ldr.AddData(new List<KeyValuePair<int, int>> { new KeyValuePair<int, int>(11, 11), new KeyValuePair<int, int>(12, 12) });
-
-                ldr.Flush();
-
-                for (int i = 2; i < 5; i++)
-                    Assert.IsNull(_cache.Get(i));
-
-                for (int i = 5; i < 13; i++)
-                    Assert.AreEqual(i, _cache.Get(i));
-            }
-        }
-
-        /// <summary>
-        /// Test "tryFlush".
-        /// </summary>
-        [Test]
-        public void TestTryFlush()
-        {
-            using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                var fut = ldr.AddData(1, 1);
-
-                ldr.TryFlush();
-
-                fut.Get();
-
-                Assert.AreEqual(1, _cache.Get(1));
-            }
-        }
-
-        /// <summary>
-        /// Test buffer size adjustments.
-        /// </summary>
-        [Test]
-        public void TestBufferSize()
-        {
-            using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                var fut = ldr.AddData(1, 1);
-
-                Thread.Sleep(100);
-
-                Assert.IsFalse(fut.IsDone);
-
-                ldr.PerNodeBufferSize = 2;
-
-                ldr.AddData(2, 2);
-                ldr.AddData(3, 3);
-                ldr.AddData(4, 4).Get();
-                fut.Get();
-
-                Assert.AreEqual(1, _cache.Get(1));
-                Assert.AreEqual(2, _cache.Get(2));
-                Assert.AreEqual(3, _cache.Get(3));
-                Assert.AreEqual(4, _cache.Get(4));
-
-                ldr.AddData(new List<KeyValuePair<int, int>>
-                {
-                    new KeyValuePair<int, int>(5, 5), 
-                    new KeyValuePair<int, int>(6, 6),
-                    new KeyValuePair<int, int>(7, 7), 
-                    new KeyValuePair<int, int>(8, 8)
-                }).Get();
-
-                Assert.AreEqual(5, _cache.Get(5));
-                Assert.AreEqual(6, _cache.Get(6));
-                Assert.AreEqual(7, _cache.Get(7));
-                Assert.AreEqual(8, _cache.Get(8));
-            }
-        }
-
-        /// <summary>
-        /// Test close.
-        /// </summary>
-        [Test]
-        public void TestClose()
-        {
-            using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                var fut = ldr.AddData(1, 1);
-
-                ldr.Close(false);
-
-                fut.Get();
-
-                Assert.AreEqual(1, _cache.Get(1));
-            }
-        }
-
-        /// <summary>
-        /// Test close with cancellation.
-        /// </summary>
-        [Test]
-        public void TestCancel()
-        {
-            using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                var fut = ldr.AddData(1, 1);
-
-                ldr.Close(true);
-
-                fut.Get();
-
-                Assert.IsNull(_cache.Get(1));
-            }
-        }
-
-        /// <summary>
-        /// Tests that streamer gets collected when there are no references to it.
-        /// </summary>
-        [Test]
-        public void TestFinalizer()
-        {
-            var streamer = _grid.GetDataStreamer<int, int>(CacheName);
-            var streamerRef = new WeakReference(streamer);
-
-            Assert.IsNotNull(streamerRef.Target);
-
-            // ReSharper disable once RedundantAssignment
-            streamer = null;
-
-            GC.Collect();
-            GC.WaitForPendingFinalizers();
-
-            Assert.IsNull(streamerRef.Target);
-        }
-
-        /// <summary>
-        /// Test auto-flush feature.
-        /// </summary>
-        [Test]
-        public void TestAutoFlush()
-        {
-            using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                // Test auto flush turning on.
-                var fut = ldr.AddData(1, 1);
-                Thread.Sleep(100);
-                Assert.IsFalse(fut.IsDone);
-                ldr.AutoFlushFrequency = 1000;                
-                fut.Get();
-
-                // Test forced flush after frequency change.
-                fut = ldr.AddData(2, 2);
-                ldr.AutoFlushFrequency = long.MaxValue;                
-                fut.Get();
-
-                // Test another forced flush after frequency change.
-                fut = ldr.AddData(3, 3);
-                ldr.AutoFlushFrequency = 1000;
-                fut.Get();
-
-                // Test flush before stop.
-                fut = ldr.AddData(4, 4);
-                ldr.AutoFlushFrequency = 0;
-                fut.Get();
-
-                // Test flush after second turn on.
-                fut = ldr.AddData(5, 5);
-                ldr.AutoFlushFrequency = 1000;
-                fut.Get();
-
-                Assert.AreEqual(1, _cache.Get(1));
-                Assert.AreEqual(2, _cache.Get(2));
-                Assert.AreEqual(3, _cache.Get(3));
-                Assert.AreEqual(4, _cache.Get(4));
-                Assert.AreEqual(5, _cache.Get(5));
-            }
-        }
-
-        /// <summary>
-        /// Test multithreaded behavior. 
-        /// </summary>
-        [Test]
-        [Category(TestUtils.CategoryIntensive)]
-        public void TestMultithreaded()
-        {
-            int entriesPerThread = 100000;
-            int threadCnt = 8;
-
-            for (int i = 0; i < 5; i++)
-            {
-                _cache.Clear();
-
-                Assert.AreEqual(0, _cache.GetSize());
-
-                Stopwatch watch = new Stopwatch();
-
-                watch.Start();
-
-                using (IDataStreamer<int, int> ldr = _grid.GetDataStreamer<int, int>(CacheName))
-                {
-                    ldr.PerNodeBufferSize = 1024;
-
-                    int ctr = 0;
-
-                    TestUtils.RunMultiThreaded(() =>
-                    {
-                        int threadIdx = Interlocked.Increment(ref ctr);
-
-                        int startIdx = (threadIdx - 1) * entriesPerThread;
-                        int endIdx = startIdx + entriesPerThread;
-
-                        for (int j = startIdx; j < endIdx; j++)
-                        {
-                            // ReSharper disable once AccessToDisposedClosure
-                            ldr.AddData(j, j);
-
-                            if (j % 100000 == 0)
-                                Console.WriteLine("Put [thread=" + threadIdx + ", cnt=" + j  + ']');
-                        }
-                    }, threadCnt);
-                }
-
-                Console.WriteLine("Iteration " + i + ": " + watch.ElapsedMilliseconds);
-
-                watch.Reset();
-
-                for (int j = 0; j < threadCnt * entriesPerThread; j++)
-                    Assert.AreEqual(j, j);
-            }
-        }
-
-        /// <summary>
-        /// Tests custom receiver.
-        /// </summary>
-        [Test]
-        public void TestStreamReceiver()
-        {
-            TestStreamReceiver(new StreamReceiverPortable());
-            TestStreamReceiver(new StreamReceiverSerializable());
-        }
-
-        /// <summary>
-        /// Tests StreamVisitor.
-        /// </summary>
-        [Test]
-        public void TestStreamVisitor()
-        {
-            TestStreamReceiver(new StreamVisitor<int, int>((c, e) => c.Put(e.Key, e.Value + 1)));
-        }
-
-        /// <summary>
-        /// Tests StreamTransformer.
-        /// </summary>
-        [Test]
-        public void TestStreamTransformer()
-        {
-            TestStreamReceiver(new StreamTransformer<int, int, int, int>(new EntryProcessorSerializable()));
-            TestStreamReceiver(new StreamTransformer<int, int, int, int>(new EntryProcessorPortable()));
-        }
-
-        /// <summary>
-        /// Tests specified receiver.
-        /// </summary>
-        private void TestStreamReceiver(IStreamReceiver<int, int> receiver)
-        {
-            using (var ldr = _grid.GetDataStreamer<int, int>(CacheName))
-            {
-                ldr.AllowOverwrite = true;
-
-                ldr.Receiver = new StreamReceiverPortable();
-
-                ldr.Receiver = receiver;  // check double assignment
-
-                Assert.AreEqual(ldr.Receiver, receiver);
-
-                for (var i = 0; i < 100; i++)
-                    ldr.AddData(i, i);
-
-                ldr.Flush();
-
-                for (var i = 0; i < 100; i++)
-                    Assert.AreEqual(i + 1, _cache.Get(i));
-            }
-        }
-
-        /// <summary>
-        /// Tests the stream receiver in keepPortable mode.
-        /// </summary>
-        [Test]
-        public void TestStreamReceiverKeepPortable()
-        {
-            // ReSharper disable once LocalVariableHidesMember
-            var cache = _grid.GetCache<int, PortableEntry>(CacheName);
-
-            using (var ldr0 = _grid.GetDataStreamer<int, int>(CacheName))
-            using (var ldr = ldr0.WithKeepPortable<int, IPortableObject>())
-            {
-                ldr.Receiver = new StreamReceiverKeepPortable();
-
-                ldr.AllowOverwrite = true;
-
-                for (var i = 0; i < 100; i++)
-                    ldr.AddData(i, _grid.GetPortables().ToPortable<IPortableObject>(new PortableEntry {Val = i}));
-
-                ldr.Flush();
-
-                for (var i = 0; i < 100; i++)
-                    Assert.AreEqual(i + 1, cache.Get(i).Val);
-            }
-        }
-
-        /// <summary>
-        /// Gets the Ignite configuration.
-        /// </summary>
-        /// <param name="gridName">Grid name.</param>
-        private static IgniteConfigurationEx GetIgniteConfiguration(string gridName)
-        {
-            return new IgniteConfigurationEx
-            {
-                GridName = gridName,
-                SpringConfigUrl = "config\\native-client-test-cache.xml",
-                JvmClasspath = TestUtils.CreateTestClasspath(),
-                PortableConfiguration = new PortableConfiguration
-                {
-                    TypeConfigurations = new List<PortableTypeConfiguration>
-                    {
-                        new PortableTypeConfiguration(typeof (CacheTestKey)),
-                        new PortableTypeConfiguration(typeof (TestReferenceObject)),
-                        new PortableTypeConfiguration(typeof (StreamReceiverPortable)),
-                        new PortableTypeConfiguration(typeof (EntryProcessorPortable)),
-                        new PortableTypeConfiguration(typeof (PortableEntry))
-                    }
-                },
-                JvmOptions = TestUtils.TestJavaOptions().Concat(new[]
-                {
-                    "-Xms3096m",
-                    "-Xmx3096m",
-                    "-XX:+UseParNewGC",
-                    "-XX:+UseConcMarkSweepGC",
-                    "-XX:+UseTLAB",
-                    "-XX:NewSize=128m",
-                    "-XX:MaxNewSize=128m",
-                    "-XX:MaxTenuringThreshold=0",
-                    "-XX:SurvivorRatio=1024",
-                    "-XX:+UseCMSInitiatingOccupancyOnly",
-                    "-XX:CMSInitiatingOccupancyFraction=60"
-                }).ToArray()
-            };
-        }
-
-        /// <summary>
-        /// Test portable receiver.
-        /// </summary>
-        private class StreamReceiverPortable : IStreamReceiver<int, int>
-        {
-            /** <inheritdoc /> */
-            public void Receive(ICache<int, int> cache, ICollection<ICacheEntry<int, int>> entries)
-            {
-                cache.PutAll(entries.ToDictionary(x => x.Key, x => x.Value + 1));
-            }
-        }
-
-        /// <summary>
-        /// Test portable receiver.
-        /// </summary>
-        [Serializable]
-        private class StreamReceiverKeepPortable : IStreamReceiver<int, IPortableObject>
-        {
-            /** <inheritdoc /> */
-            public void Receive(ICache<int, IPortableObject> cache, ICollection<ICacheEntry<int, IPortableObject>> entries)
-            {
-                var portables = cache.Ignite.GetPortables();
-
-                cache.PutAll(entries.ToDictionary(x => x.Key, x =>
-                    portables.ToPortable<IPortableObject>(new PortableEntry
-                    {
-                        Val = x.Value.Deserialize<PortableEntry>().Val + 1
-                    })));
-            }
-        }
-
-        /// <summary>
-        /// Test serializable receiver.
-        /// </summary>
-        [Serializable]
-        private class StreamReceiverSerializable : IStreamReceiver<int, int>
-        {
-            /** <inheritdoc /> */
-            public void Receive(ICache<int, int> cache, ICollection<ICacheEntry<int, int>> entries)
-            {
-                cache.PutAll(entries.ToDictionary(x => x.Key, x => x.Value + 1));
-            }
-        }
-
-        /// <summary>
-        /// Test entry processor.
-        /// </summary>
-        [Serializable]
-        private class EntryProcessorSerializable : ICacheEntryProcessor<int, int, int, int>
-        {
-            /** <inheritdoc /> */
-            public int Process(IMutableCacheEntry<int, int> entry, int arg)
-            {
-                entry.Value = entry.Key + 1;
-                
-                return 0;
-            }
-        }
-
-        /// <summary>
-        /// Test entry processor.
-        /// </summary>
-        private class EntryProcessorPortable : ICacheEntryProcessor<int, int, int, int>, IPortableMarshalAware
-        {
-            /** <inheritdoc /> */
-            public int Process(IMutableCacheEntry<int, int> entry, int arg)
-            {
-                entry.Value = entry.Key + 1;
-                
-                return 0;
-            }
-
-            /** <inheritdoc /> */
-            public void WritePortable(IPortableWriter writer)
-            {
-                // No-op.
-            }
-
-            /** <inheritdoc /> */
-            public void ReadPortable(IPortableReader reader)
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        /// Portablecache entry.
-        /// </summary>
-        private class PortableEntry
-        {
-            public int Val { get; set; }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
deleted file mode 100644
index aa103d4..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
+++ /dev/null
@@ -1,961 +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.
- */
-
-namespace Apache.Ignite.Core.Tests
-{
-    using System;
-    using System.Collections.Concurrent;
-    using System.Collections.Generic;
-    using System.Linq;
-    using System.Threading;
-    using System.Threading.Tasks;
-    using Apache.Ignite.Core.Cache.Query;
-    using Apache.Ignite.Core.Common;
-    using Apache.Ignite.Core.Events;
-    using Apache.Ignite.Core.Impl;
-    using Apache.Ignite.Core.Impl.Events;
-    using Apache.Ignite.Core.Portable;
-    using Apache.Ignite.Core.Tests.Compute;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// <see cref="IEvents"/> tests.
-    /// </summary>
-    public class EventsTest
-    {
-        /** */
-        private IIgnite _grid1;
-
-        /** */
-        private IIgnite _grid2;
-
-        /** */
-        private IIgnite _grid3;
-
-        /** */
-        private IIgnite[] _grids;
-        
-        /** */
-        public static int IdGen;
-
-        [TestFixtureTearDown]
-        public void FixtureTearDown()
-        {
-            StopGrids();
-        }
-
-        /// <summary>
-        /// Executes before each test.
-        /// </summary>
-        [SetUp]
-        public void SetUp()
-        {
-            StartGrids();
-            EventsTestHelper.ListenResult = true;
-        }
-
-        /// <summary>
-        /// Executes after each test.
-        /// </summary>
-        [TearDown]
-        public virtual void TearDown()
-        {
-            try
-            {
-                TestUtils.AssertHandleRegistryIsEmpty(1000, _grid1, _grid2, _grid3);
-            }
-            catch (Exception)
-            {
-                // Restart grids to cleanup
-                StopGrids();
-
-                throw;
-            }
-            finally
-            {
-                EventsTestHelper.AssertFailures();
-
-                if (TestContext.CurrentContext.Test.Name.StartsWith("TestEventTypes"))
-                    StopGrids(); // clean events for other tests
-            }
-        }
-
-        /// <summary>
-        /// Tests enable/disable of event types.
-        /// </summary>
-        [Test]
-        public void TestEnableDisable()
-        {
-            var events = _grid1.GetEvents();
-
-            Assert.AreEqual(0, events.GetEnabledEvents().Length);
-
-            Assert.IsFalse(EventType.EvtsCache.Any(events.IsEnabled));
-
-            events.EnableLocal(EventType.EvtsCache);
-
-            Assert.AreEqual(EventType.EvtsCache, events.GetEnabledEvents());
-
-            Assert.IsTrue(EventType.EvtsCache.All(events.IsEnabled));
-
-            events.EnableLocal(EventType.EvtsTaskExecution);
-
-            events.DisableLocal(EventType.EvtsCache);
-
-            Assert.AreEqual(EventType.EvtsTaskExecution, events.GetEnabledEvents());
-        }
-
-        /// <summary>
-        /// Tests LocalListen.
-        /// </summary>
-        [Test]
-        public void TestLocalListen()
-        {
-            var events = _grid1.GetEvents();
-            var listener = EventsTestHelper.GetListener();
-            var eventType = EventType.EvtsTaskExecution;
-
-            events.EnableLocal(eventType);
-
-            events.LocalListen(listener, eventType);
-
-            CheckSend(3);  // 3 events per task * 3 grids
-
-            // Check unsubscription for specific event
-            events.StopLocalListen(listener, EventType.EvtTaskReduced);
-
-            CheckSend(2);
-
-            // Unsubscribe from all events
-            events.StopLocalListen(listener);
-
-            CheckNoEvent();
-
-            // Check unsubscription by filter
-            events.LocalListen(listener, EventType.EvtTaskReduced);
-
-            CheckSend();
-
-            EventsTestHelper.ListenResult = false;
-
-            CheckSend();  // one last event will be received for each listener
-
-            CheckNoEvent();
-        }
-
-        /// <summary>
-        /// Tests LocalListen.
-        /// </summary>
-        [Test]
-        [Ignore("IGNITE-879")]
-        public void TestLocalListenRepeatedSubscription()
-        {
-            var events = _grid1.GetEvents();
-            var listener = EventsTestHelper.GetListener();
-            var eventType = EventType.EvtsTaskExecution;
-
-            events.EnableLocal(eventType);
-
-            events.LocalListen(listener, eventType);
-
-            CheckSend(3);  // 3 events per task * 3 grids
-
-            events.LocalListen(listener, eventType);
-            events.LocalListen(listener, eventType);
-
-            CheckSend(9);
-
-            events.StopLocalListen(listener, eventType);
-
-            CheckSend(6);
-
-            events.StopLocalListen(listener, eventType);
-
-            CheckSend(3);
-            
-            events.StopLocalListen(listener, eventType);
-
-            CheckNoEvent();
-        }
-
-        /// <summary>
-        /// Tests all available event types/classes.
-        /// </summary>
-        [Test, TestCaseSource("TestCases")]
-        public void TestEventTypes(EventTestCase testCase)
-        {
-            var events = _grid1.GetEvents();
-
-            events.EnableLocal(testCase.EventType);
-
-            var listener = EventsTestHelper.GetListener();
-
-            events.LocalListen(listener, testCase.EventType);
-
-            EventsTestHelper.ClearReceived(testCase.EventCount);
-
-            testCase.GenerateEvent(_grid1);
-
-            EventsTestHelper.VerifyReceive(testCase.EventCount, testCase.EventObjectType, testCase.EventType);
-
-            if (testCase.VerifyEvents != null)
-                testCase.VerifyEvents(EventsTestHelper.ReceivedEvents.Reverse(), _grid1);
-
-            // Check stop
-            events.StopLocalListen(listener);
-
-            EventsTestHelper.ClearReceived(0);
-
-            testCase.GenerateEvent(_grid1);
-
-            Thread.Sleep(EventsTestHelper.Timeout);
-        }
-
-        /// <summary>
-        /// Test cases for TestEventTypes: type id + type + event generator.
-        /// </summary>
-        public IEnumerable<EventTestCase> TestCases
-        {
-            get
-            {
-                yield return new EventTestCase
-                {
-                    EventType = EventType.EvtsCache,
-                    EventObjectType = typeof (CacheEvent),
-                    GenerateEvent = g => g.GetCache<int, int>(null).Put(1, 1),
-                    VerifyEvents = (e, g) => VerifyCacheEvents(e, g),
-                    EventCount = 1
-                };
-
-                yield return new EventTestCase
-                {
-                    EventType = EventType.EvtsTaskExecution,
-                    EventObjectType = typeof (TaskEvent),
-                    GenerateEvent = g => GenerateTaskEvent(g),
-                    VerifyEvents = (e, g) => VerifyTaskEvents(e),
-                    EventCount = 3
-                };
-
-                yield return new EventTestCase
-                {
-                    EventType = EventType.EvtsJobExecution,
-                    EventObjectType = typeof (JobEvent),
-                    GenerateEvent = g => GenerateTaskEvent(g),
-                    EventCount = 9
-                };
-
-                yield return new EventTestCase
-                {
-                    EventType = new[] {EventType.EvtCacheQueryExecuted},
-                    EventObjectType = typeof (CacheQueryExecutedEvent),
-                    GenerateEvent = g => GenerateCacheQueryEvent(g),
-                    EventCount = 1
-                };
-
-                yield return new EventTestCase
-                {
-                    EventType = new[] { EventType.EvtCacheQueryObjectRead },
-                    EventObjectType = typeof (CacheQueryReadEvent),
-                    GenerateEvent = g => GenerateCacheQueryEvent(g),
-                    EventCount = 1
-                };
-            }
-        }
-
-        /// <summary>
-        /// Tests the LocalQuery.
-        /// </summary>
-        [Test]
-        public void TestLocalQuery()
-        {
-            var events = _grid1.GetEvents();
-
-            var eventType = EventType.EvtsTaskExecution;
-
-            events.EnableLocal(eventType);
-
-            var oldEvents = events.LocalQuery();
-
-            GenerateTaskEvent();
-
-            // "Except" works because of overridden equality
-            var qryResult = events.LocalQuery(eventType).Except(oldEvents).ToList();
-
-            Assert.AreEqual(3, qryResult.Count);
-        }
-
-        /// <summary>
-        /// Tests the WaitForLocal.
-        /// </summary>
-        [Test]
-        public void TestWaitForLocal([Values(true, false)] bool async)
-        {
-            var events = _grid1.GetEvents();
-
-            var timeout = TimeSpan.FromSeconds(3);
-
-            if (async)
-                events = events.WithAsync();
-
-            var eventType = EventType.EvtsTaskExecution;
-
-            events.EnableLocal(eventType);
-
-            Func<Func<IEvent>, Task<IEvent>> getWaitTask;
-
-            if (async)
-                getWaitTask = func =>
-                {
-                    Assert.IsNull(func());
-                    var task = events.GetFuture<IEvent>().ToTask();
-                    GenerateTaskEvent();
-                    return task;
-                };
-            else
-                getWaitTask = func =>
-                {
-                    var task = Task.Factory.StartNew(func);
-                    Thread.Sleep(500); // allow task to start and begin waiting for events
-                    GenerateTaskEvent();
-                    return task;
-                };
-
-            // No params
-            var waitTask = getWaitTask(() => events.WaitForLocal());
-
-            waitTask.Wait(timeout);
-
-            // Event types
-            waitTask = getWaitTask(() => events.WaitForLocal(EventType.EvtTaskReduced));
-
-            Assert.IsTrue(waitTask.Wait(timeout));
-            Assert.IsInstanceOf(typeof(TaskEvent), waitTask.Result);
-            Assert.AreEqual(EventType.EvtTaskReduced, waitTask.Result.Type);
-
-            // Filter
-            waitTask = getWaitTask(() => events.WaitForLocal(
-                new EventFilter<IEvent>((g, e) => e.Type == EventType.EvtTaskReduced)));
-
-            Assert.IsTrue(waitTask.Wait(timeout));
-            Assert.IsInstanceOf(typeof(TaskEvent), waitTask.Result);
-            Assert.AreEqual(EventType.EvtTaskReduced, waitTask.Result.Type);
-
-            // Filter & types
-            waitTask = getWaitTask(() => events.WaitForLocal(
-                new EventFilter<IEvent>((g, e) => e.Type == EventType.EvtTaskReduced), EventType.EvtTaskReduced));
-
-            Assert.IsTrue(waitTask.Wait(timeout));
-            Assert.IsInstanceOf(typeof(TaskEvent), waitTask.Result);
-            Assert.AreEqual(EventType.EvtTaskReduced, waitTask.Result.Type);
-        }
-
-        /// <summary>
-        /// Tests RemoteListen.
-        /// </summary>
-        [Test]
-        public void TestRemoteListen(
-            [Values(true, false)] bool async, 
-            [Values(true, false)] bool portable,
-            [Values(true, false)] bool autoUnsubscribe)
-        {
-            foreach (var g in _grids)
-            {
-                g.GetEvents().EnableLocal(EventType.EvtsJobExecution);
-                g.GetEvents().EnableLocal(EventType.EvtsTaskExecution);
-            }
-
-            var events = _grid1.GetEvents();
-
-            var expectedType = EventType.EvtJobStarted;
-
-            var remoteFilter = portable 
-                ?  (IEventFilter<IEvent>) new RemoteEventPortableFilter(expectedType) 
-                :  new RemoteEventFilter(expectedType);
-
-            var localListener = EventsTestHelper.GetListener();
-
-            if (async)
-                events = events.WithAsync();
-
-            var listenId = events.RemoteListen(localListener: localListener, remoteFilter: remoteFilter,
-                autoUnsubscribe: autoUnsubscribe);
-
-            if (async)
-                listenId = events.GetFuture<Guid>().Get();
-
-            CheckSend(3, typeof(JobEvent), expectedType);
-
-            _grid3.GetEvents().DisableLocal(EventType.EvtsJobExecution);
-
-            CheckSend(2, typeof(JobEvent), expectedType);
-
-            events.StopRemoteListen(listenId);
-
-            if (async)
-                events.GetFuture().Get();
-
-            CheckNoEvent();
-
-            // Check unsubscription with listener
-            events.RemoteListen(localListener: localListener, remoteFilter: remoteFilter,
-                autoUnsubscribe: autoUnsubscribe);
-
-            if (async)
-                events.GetFuture<Guid>().Get();
-
-            CheckSend(2, typeof(JobEvent), expectedType);
-
-            EventsTestHelper.ListenResult = false;
-
-            CheckSend(1, typeof(JobEvent), expectedType);  // one last event
-
-            CheckNoEvent();
-        }
-
-        /// <summary>
-        /// Tests RemoteQuery.
-        /// </summary>
-        [Test]
-        public void TestRemoteQuery([Values(true, false)] bool async)
-        {
-            foreach (var g in _grids)
-                g.GetEvents().EnableLocal(EventType.EvtsJobExecution);
-
-            var events = _grid1.GetEvents();
-
-            var eventFilter = new RemoteEventFilter(EventType.EvtJobStarted);
-
-            var oldEvents = events.RemoteQuery(eventFilter);
-
-            if (async)
-                events = events.WithAsync();
-
-            GenerateTaskEvent();
-
-            var remoteQuery = events.RemoteQuery(eventFilter, EventsTestHelper.Timeout, EventType.EvtsJobExecution);
-
-            if (async)
-            {
-                Assert.IsNull(remoteQuery);
-
-                remoteQuery = events.GetFuture<List<IEvent>>().Get().ToList();
-            }
-
-            var qryResult = remoteQuery.Except(oldEvents).Cast<JobEvent>().ToList();
-
-            Assert.AreEqual(_grids.Length, qryResult.Count);
-
-            Assert.IsTrue(qryResult.All(x => x.Type == EventType.EvtJobStarted));
-        }
-
-        /// <summary>
-        /// Tests serialization.
-        /// </summary>
-        [Test]
-        public void TestSerialization()
-        {
-            var grid = (Ignite) _grid1;
-            var comp = (Impl.Compute.Compute) grid.GetCluster().ForLocal().GetCompute();
-            var locNode = grid.GetCluster().GetLocalNode();
-
-            var expectedGuid = Guid.Parse("00000000-0000-0001-0000-000000000002");
-            var expectedGridGuid = new IgniteGuid(expectedGuid, 3);
-
-            using (var inStream = IgniteManager.Memory.Allocate().Stream())
-            {
-                var result = comp.ExecuteJavaTask<bool>("org.apache.ignite.platform.PlatformEventsWriteEventTask",
-                    inStream.MemoryPointer);
-
-                Assert.IsTrue(result);
-
-                inStream.SynchronizeInput();
-
-                var reader = grid.Marshaller.StartUnmarshal(inStream);
-
-                var cacheEvent = EventReader.Read<CacheEvent>(reader);
-                CheckEventBase(cacheEvent);
-                Assert.AreEqual("cacheName", cacheEvent.CacheName);
-                Assert.AreEqual(locNode, cacheEvent.EventNode);
-                Assert.AreEqual(1, cacheEvent.Partition);
-                Assert.AreEqual(true, cacheEvent.IsNear);
-                Assert.AreEqual(2, cacheEvent.Key);
-                Assert.AreEqual(expectedGridGuid, cacheEvent.Xid);
-                Assert.AreEqual(3, cacheEvent.LockId);
-                Assert.AreEqual(4, cacheEvent.NewValue);
-                Assert.AreEqual(true, cacheEvent.HasNewValue);
-                Assert.AreEqual(5, cacheEvent.OldValue);
-                Assert.AreEqual(true, cacheEvent.HasOldValue);
-                Assert.AreEqual(expectedGuid, cacheEvent.SubjectId);
-                Assert.AreEqual("cloClsName", cacheEvent.ClosureClassName);
-                Assert.AreEqual("taskName", cacheEvent.TaskName);
-
-                var qryExecEvent = EventReader.Read<CacheQueryExecutedEvent>(reader);
-                CheckEventBase(qryExecEvent);
-                Assert.AreEqual("qryType", qryExecEvent.QueryType);
-                Assert.AreEqual("cacheName", qryExecEvent.CacheName);
-                Assert.AreEqual("clsName", qryExecEvent.ClassName);
-                Assert.AreEqual("clause", qryExecEvent.Clause);
-                Assert.AreEqual(expectedGuid, qryExecEvent.SubjectId);
-                Assert.AreEqual("taskName", qryExecEvent.TaskName);
-
-                var qryReadEvent = EventReader.Read<CacheQueryReadEvent>(reader);
-                CheckEventBase(qryReadEvent);
-                Assert.AreEqual("qryType", qryReadEvent.QueryType);
-                Assert.AreEqual("cacheName", qryReadEvent.CacheName);
-                Assert.AreEqual("clsName", qryReadEvent.ClassName);
-                Assert.AreEqual("clause", qryReadEvent.Clause);
-                Assert.AreEqual(expectedGuid, qryReadEvent.SubjectId);
-                Assert.AreEqual("taskName", qryReadEvent.TaskName);
-                Assert.AreEqual(1, qryReadEvent.Key);
-                Assert.AreEqual(2, qryReadEvent.Value);
-                Assert.AreEqual(3, qryReadEvent.OldValue);
-                Assert.AreEqual(4, qryReadEvent.Row);
-
-                var cacheRebalancingEvent = EventReader.Read<CacheRebalancingEvent>(reader);
-                CheckEventBase(cacheRebalancingEvent);
-                Assert.AreEqual("cacheName", cacheRebalancingEvent.CacheName);
-                Assert.AreEqual(1, cacheRebalancingEvent.Partition);
-                Assert.AreEqual(locNode, cacheRebalancingEvent.DiscoveryNode);
-                Assert.AreEqual(2, cacheRebalancingEvent.DiscoveryEventType);
-                Assert.AreEqual(3, cacheRebalancingEvent.DiscoveryTimestamp);
-                
-                var checkpointEvent = EventReader.Read<CheckpointEvent>(reader);
-                CheckEventBase(checkpointEvent);
-                Assert.AreEqual("cpKey", checkpointEvent.Key);
-                
-                var discoEvent = EventReader.Read<DiscoveryEvent>(reader);
-                CheckEventBase(discoEvent);
-                Assert.AreEqual(grid.TopologyVersion, discoEvent.TopologyVersion);
-                Assert.AreEqual(grid.GetNodes(), discoEvent.TopologyNodes);
-
-                var jobEvent = EventReader.Read<JobEvent>(reader);
-                CheckEventBase(jobEvent);
-                Assert.AreEqual(expectedGridGuid, jobEvent.JobId);
-                Assert.AreEqual("taskClsName", jobEvent.TaskClassName);
-                Assert.AreEqual("taskName", jobEvent.TaskName);
-                Assert.AreEqual(locNode, jobEvent.TaskNode);
-                Assert.AreEqual(expectedGridGuid, jobEvent.TaskSessionId);
-                Assert.AreEqual(expectedGuid, jobEvent.TaskSubjectId);
-
-                var spaceEvent = EventReader.Read<SwapSpaceEvent>(reader);
-                CheckEventBase(spaceEvent);
-                Assert.AreEqual("space", spaceEvent.Space);
-
-                var taskEvent = EventReader.Read<TaskEvent>(reader);
-                CheckEventBase(taskEvent);
-                Assert.AreEqual(true,taskEvent.Internal);
-                Assert.AreEqual(expectedGuid, taskEvent.SubjectId);
-                Assert.AreEqual("taskClsName", taskEvent.TaskClassName);
-                Assert.AreEqual("taskName", taskEvent.TaskName);
-                Assert.AreEqual(expectedGridGuid, taskEvent.TaskSessionId);
-            }
-        }
-
-        /// <summary>
-        /// Checks base event fields serialization.
-        /// </summary>
-        /// <param name="evt">The evt.</param>
-        private void CheckEventBase(IEvent evt)
-        {
-            var locNode = _grid1.GetCluster().GetLocalNode();
-
-            Assert.AreEqual(locNode, evt.Node);
-            Assert.AreEqual("msg", evt.Message);
-            Assert.AreEqual(EventType.EvtSwapSpaceCleared, evt.Type);
-            Assert.IsNotNullOrEmpty(evt.Name);
-            Assert.AreNotEqual(Guid.Empty, evt.Id.GlobalId);
-            Assert.IsTrue((evt.TimeStamp - DateTime.Now).TotalSeconds < 10);
-        }
-
-        /// <summary>
-        /// Sends events in various ways and verifies correct receive.
-        /// </summary>
-        /// <param name="repeat">Expected event count multiplier.</param>
-        /// <param name="eventObjectType">Expected event object type.</param>
-        /// <param name="eventType">Type of the event.</param>
-        private void CheckSend(int repeat = 1, Type eventObjectType = null, params int[] eventType)
-        {
-            EventsTestHelper.ClearReceived(repeat);
-
-            GenerateTaskEvent();
-
-            EventsTestHelper.VerifyReceive(repeat, eventObjectType ?? typeof (TaskEvent),
-                eventType.Any() ? eventType : EventType.EvtsTaskExecution);
-        }
-
-        /// <summary>
-        /// Checks that no event has arrived.
-        /// </summary>
-        private void CheckNoEvent()
-        {
-            // this will result in an exception in case of a event
-            EventsTestHelper.ClearReceived(0);
-
-            GenerateTaskEvent();
-
-            Thread.Sleep(EventsTestHelper.Timeout);
-
-            EventsTestHelper.AssertFailures();
-        }
-
-        /// <summary>
-        /// Gets the Ignite configuration.
-        /// </summary>
-        private static IgniteConfiguration Configuration(string springConfigUrl)
-        {
-            return new IgniteConfiguration
-            {
-                SpringConfigUrl = springConfigUrl,
-                JvmClasspath = TestUtils.CreateTestClasspath(),
-                JvmOptions = TestUtils.TestJavaOptions(),
-                PortableConfiguration = new PortableConfiguration
-                {
-                    TypeConfigurations = new List<PortableTypeConfiguration>
-                    {
-                        new PortableTypeConfiguration(typeof (RemoteEventPortableFilter))
-                    }
-                }
-            };
-        }
-
-        /// <summary>
-        /// Generates the task event.
-        /// </summary>
-        private void GenerateTaskEvent(IIgnite grid = null)
-        {
-            (grid ?? _grid1).GetCompute().Broadcast(new ComputeAction());
-        }
-
-        /// <summary>
-        /// Verifies the task events.
-        /// </summary>
-        private static void VerifyTaskEvents(IEnumerable<IEvent> events)
-        {
-            var e = events.Cast<TaskEvent>().ToArray();
-
-            // started, reduced, finished
-            Assert.AreEqual(
-                new[] {EventType.EvtTaskStarted, EventType.EvtTaskReduced, EventType.EvtTaskFinished},
-                e.Select(x => x.Type).ToArray());
-        }
-
-        /// <summary>
-        /// Generates the cache query event.
-        /// </summary>
-        private static void GenerateCacheQueryEvent(IIgnite g)
-        {
-            var cache = g.GetCache<int, int>(null);
-
-            cache.Clear();
-
-            cache.Put(1, 1);
-
-            cache.Query(new ScanQuery<int, int>()).GetAll();
-        }
-
-        /// <summary>
-        /// Verifies the cache events.
-        /// </summary>
-        private static void VerifyCacheEvents(IEnumerable<IEvent> events, IIgnite grid)
-        {
-            var e = events.Cast<CacheEvent>().ToArray();
-
-            foreach (var cacheEvent in e)
-            {
-                Assert.AreEqual(null, cacheEvent.CacheName);
-                Assert.AreEqual(null, cacheEvent.ClosureClassName);
-                Assert.AreEqual(null, cacheEvent.TaskName);
-                Assert.AreEqual(grid.GetCluster().GetLocalNode(), cacheEvent.EventNode);
-                Assert.AreEqual(grid.GetCluster().GetLocalNode(), cacheEvent.Node);
-
-                Assert.AreEqual(false, cacheEvent.HasOldValue);
-                Assert.AreEqual(null, cacheEvent.OldValue);
-
-                if (cacheEvent.Type == EventType.EvtCacheObjectPut)
-                {
-                    Assert.AreEqual(true, cacheEvent.HasNewValue);
-                    Assert.AreEqual(1, cacheEvent.NewValue);
-                }
-                else if (cacheEvent.Type == EventType.EvtCacheEntryCreated)
-                {
-                    Assert.AreEqual(false, cacheEvent.HasNewValue);
-                    Assert.AreEqual(null, cacheEvent.NewValue);
-                }
-                else
-                {
-                    Assert.Fail("Unexpected event type");
-                }
-            }
-        }
-
-        /// <summary>
-        /// Starts the grids.
-        /// </summary>
-        private void StartGrids()
-        {
-            if (_grid1 != null)
-                return;
-
-            _grid1 = Ignition.Start(Configuration("config\\compute\\compute-grid1.xml"));
-            _grid2 = Ignition.Start(Configuration("config\\compute\\compute-grid2.xml"));
-            _grid3 = Ignition.Start(Configuration("config\\compute\\compute-grid3.xml"));
-
-            _grids = new[] {_grid1, _grid2, _grid3};
-        }
-
-        /// <summary>
-        /// Stops the grids.
-        /// </summary>
-        private void StopGrids()
-        {
-            _grid1 = _grid2 = _grid3 = null;
-            _grids = null;
-            
-            Ignition.StopAll(true);
-        }
-    }
-
-    /// <summary>
-    /// Event test helper class.
-    /// </summary>
-    [Serializable]
-    public static class EventsTestHelper
-    {
-        /** */
-        public static readonly ConcurrentStack<IEvent> ReceivedEvents = new ConcurrentStack<IEvent>();
-        
-        /** */
-        public static readonly ConcurrentStack<string> Failures = new ConcurrentStack<string>();
-
-        /** */
-        public static readonly CountdownEvent ReceivedEvent = new CountdownEvent(0);
-
-        /** */
-        public static readonly ConcurrentStack<Guid> LastNodeIds = new ConcurrentStack<Guid>();
-
-        /** */
-        public static volatile bool ListenResult = true;
-
-        /** */
-        public static readonly TimeSpan Timeout = TimeSpan.FromMilliseconds(800);
-
-        /// <summary>
-        /// Clears received event information.
-        /// </summary>
-        /// <param name="expectedCount">The expected count of events to be received.</param>
-        public static void ClearReceived(int expectedCount)
-        {
-            ReceivedEvents.Clear();
-            ReceivedEvent.Reset(expectedCount);
-            LastNodeIds.Clear();
-        }
-
-        /// <summary>
-        /// Verifies received events against events events.
-        /// </summary>
-        public static void VerifyReceive(int count, Type eventObjectType, params int[] eventTypes)
-        {
-            // check if expected event count has been received; Wait returns false if there were none.
-            Assert.IsTrue(ReceivedEvent.Wait(Timeout), 
-                "Failed to receive expected number of events. Remaining count: " + ReceivedEvent.CurrentCount);
-            
-            Assert.AreEqual(count, ReceivedEvents.Count);
-
-            Assert.IsTrue(ReceivedEvents.All(x => x.GetType() == eventObjectType));
-
-            Assert.IsTrue(ReceivedEvents.All(x => eventTypes.Contains(x.Type)));
-
-            AssertFailures();
-        }
-
-        /// <summary>
-        /// Gets the event listener.
-        /// </summary>
-        /// <returns>New instance of event listener.</returns>
-        public static IEventFilter<IEvent> GetListener()
-        {
-            return new EventFilter<IEvent>(Listen);
-        }
-
-        /// <summary>
-        /// Combines accumulated failures and throws an assertion, if there are any.
-        /// Clears accumulated failures.
-        /// </summary>
-        public static void AssertFailures()
-        {
-            try
-            {
-                if (Failures.Any())
-                    Assert.Fail(Failures.Reverse().Aggregate((x, y) => string.Format("{0}\n{1}", x, y)));
-            }
-            finally 
-            {
-                Failures.Clear();
-            }
-        }
-
-        /// <summary>
-        /// Listen method.
-        /// </summary>
-        /// <param name="id">Originating node ID.</param>
-        /// <param name="evt">Event.</param>
-        private static bool Listen(Guid id, IEvent evt)
-        {
-            try
-            {
-                LastNodeIds.Push(id);
-                ReceivedEvents.Push(evt);
-
-                ReceivedEvent.Signal();
-                
-                return ListenResult;
-            }
-            catch (Exception ex)
-            {
-                // When executed on remote nodes, these exceptions will not go to sender, 
-                // so we have to accumulate them.
-                Failures.Push(string.Format("Exception in Listen (msg: {0}, id: {1}): {2}", evt, id, ex));
-                throw;
-            }
-        }
-    }
-
-    /// <summary>
-    /// Test event filter.
-    /// </summary>
-    [Serializable]
-    public class EventFilter<T> : IEventFilter<T> where T : IEvent
-    {
-        /** */
-        private readonly Func<Guid, T, bool> _invoke;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="RemoteListenEventFilter"/> class.
-        /// </summary>
-        /// <param name="invoke">The invoke delegate.</param>
-        public EventFilter(Func<Guid, T, bool> invoke)
-        {
-            _invoke = invoke;
-        }
-
-        /** <inheritdoc /> */
-        bool IEventFilter<T>.Invoke(Guid nodeId, T evt)
-        {
-            return _invoke(nodeId, evt);
-        }
-
-        /** <inheritdoc /> */
-        public bool Invoke(Guid nodeId, T evt)
-        {
-            throw new Exception("Invalid method");
-        }
-    }
-
-    /// <summary>
-    /// Remote event filter.
-    /// </summary>
-    [Serializable]
-    public class RemoteEventFilter : IEventFilter<IEvent>
-    {
-        /** */
-        private readonly int _type;
-
-        public RemoteEventFilter(int type)
-        {
-            _type = type;
-        }
-
-        /** <inheritdoc /> */
-        public bool Invoke(Guid nodeId, IEvent evt)
-        {
-            return evt.Type == _type;
-        }
-    }
-
-    /// <summary>
-    /// Portable remote event filter.
-    /// </summary>
-    public class RemoteEventPortableFilter : IEventFilter<IEvent>, IPortableMarshalAware
-    {
-        /** */
-        private int _type;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="RemoteEventPortableFilter"/> class.
-        /// </summary>
-        /// <param name="type">The event type.</param>
-        public RemoteEventPortableFilter(int type)
-        {
-            _type = type;
-        }
-
-        /** <inheritdoc /> */
-        public bool Invoke(Guid nodeId, IEvent evt)
-        {
-            return evt.Type == _type;
-        }
-
-        /** <inheritdoc /> */
-        public void WritePortable(IPortableWriter writer)
-        {
-            writer.RawWriter().WriteInt(_type);
-        }
-
-        /** <inheritdoc /> */
-        public void ReadPortable(IPortableReader reader)
-        {
-            _type = reader.RawReader().ReadInt();
-        }
-    }
-
-    /// <summary>
-    /// Event test case.
-    /// </summary>
-    public class EventTestCase
-    {
-        /// <summary>
-        /// Gets or sets the type of the event.
-        /// </summary>
-        public int[] EventType { get; set; }
-
-        /// <summary>
-        /// Gets or sets the type of the event object.
-        /// </summary>
-        public Type EventObjectType { get; set; }
-
-        /// <summary>
-        /// Gets or sets the generate event action.
-        /// </summary>
-        public Action<IIgnite> GenerateEvent { get; set; }
-
-        /// <summary>
-        /// Gets or sets the verify events action.
-        /// </summary>
-        public Action<IEnumerable<IEvent>, IIgnite> VerifyEvents { get; set; }
-
-        /// <summary>
-        /// Gets or sets the event count.
-        /// </summary>
-        public int EventCount { get; set; }
-
-        /** <inheritdoc /> */
-        public override string ToString()
-        {
-            return EventObjectType.ToString();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/65bb69da/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Examples/Example.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Examples/Example.cs b/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Examples/Example.cs
deleted file mode 100644
index edb04cb..0000000
--- a/modules/platform/src/test/dotnet/Apache.Ignite.Core.Tests/Examples/Example.cs
+++ /dev/null
@@ -1,137 +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.
- */
-
-namespace Apache.Ignite.Core.Tests.Examples
-{
-    using System;
-    using System.Collections.Generic;
-    using System.IO;
-    using System.Linq;
-    using System.Text.RegularExpressions;
-    using Apache.Ignite.Examples.Compute;
-    using Apache.Ignite.ExamplesDll.Compute;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Represents an Example to be tested.
-    /// </summary>
-    public class Example
-    {
-        /** All examples */
-        private static readonly Example[] Examples = GetExamples().ToArray();
-
-        /** Execute action */
-        private Action _runAction;
-
-        /** Config url */
-        public string SpringConfigUrl { get; private set; }
-
-        /** Source path */
-        public string SourceFilePath { get; private set; }
-
-        /** Dll load flag */
-        public bool NeedsTestDll { get; private set; }
-
-        /** Name */
-        public string Name { get; private set; }
-
-        /// <summary>
-        /// Runs this example.
-        /// </summary>
-        public void Run()
-        {
-            try
-            {
-                _runAction();
-            }
-            catch (InvalidOperationException ex)
-            {
-                // Each example has a ReadKey at the end, which throws an exception in test environment.
-                if (ex.Message != "Cannot read keys when either application does not have a console or " +
-                    "when console input has been redirected from a file. Try Console.Read.")
-                    throw;
-            }
-        }
-
-        /// <summary>
-        /// Gets all examples.
-        /// </summary>
-        public static IEnumerable<Example> All
-        {
-            get { return Examples; }
-        }
-
-        /// <summary>
-        /// Gets all examples.
-        /// </summary>
-        private static IEnumerable<Example> GetExamples()
-        {
-            var examplesAsm = typeof (ClosureExample).Assembly;
-
-            var sourceFiles = Directory.GetFiles(PathUtil.ExamplesSourcePath, "*.cs", SearchOption.AllDirectories);
-
-            Assert.IsTrue(sourceFiles.Any());
-
-            var types = examplesAsm.GetTypes().Where(x => x.GetMethod("Main") != null).ToArray();
-
-            Assert.IsTrue(types.Any());
-
-            var examplesDllName = typeof(AverageSalaryJob).Assembly.GetName().Name;
-
-            foreach (var type in types)
-            {
-                var sourceFile = sourceFiles.Single(x => x.EndsWith(string.Format("\\{0}.cs", type.Name)));
-
-                var sourceCode = File.ReadAllText(sourceFile);
-
-                yield return new Example
-                {
-                    SourceFilePath = sourceFile,
-                    SpringConfigUrl = PathUtil.GetFullConfigPath(GetSpringConfigUrl(sourceCode)),
-                    NeedsTestDll = sourceCode.Contains(examplesDllName),
-                    _runAction = GetRunAction(type),
-                    Name = type.Name
-                };
-            }
-        }
-
-        /// <summary>
-        /// Gets the run action.
-        /// </summary>
-        private static Action GetRunAction(Type type)
-        {
-            return (Action) Delegate.CreateDelegate(typeof (Action), type.GetMethod("Main"));
-        }
-
-        /// <summary>
-        /// Gets the spring configuration URL.
-        /// </summary>
-        private static string GetSpringConfigUrl(string code)
-        {
-            var match = Regex.Match(code, "-springConfigUrl=(.*?.xml)");
-
-            return match.Success ? match.Groups[1].Value : null;
-        }
-
-        /** <inheritdoc /> */
-        public override string ToString()
-        {
-            // This will be displayed in TeamCity and R# test runner
-            return Name;
-        }
-    }
-}
\ No newline at end of file