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:40:50 UTC

[31/51] [abbrv] [partial] ignite git commit: IGNITE-1513: platform -> platforms.

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/FailoverTaskSelfTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/FailoverTaskSelfTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/FailoverTaskSelfTest.cs
deleted file mode 100644
index e46ec64..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/FailoverTaskSelfTest.cs
+++ /dev/null
@@ -1,246 +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.Compute
-{
-    using System;
-    using System.Collections.Generic;
-    using Apache.Ignite.Core.Cluster;
-    using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Portable;
-    using Apache.Ignite.Core.Resource;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Test for task and job adapter.
-    /// </summary>
-    public class FailoverTaskSelfTest : AbstractTaskTest
-    {
-        /** */
-        static volatile string _gridName;
-
-        /** */
-        static volatile int _cnt;
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public FailoverTaskSelfTest() : base(false) { }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="fork">Fork flag.</param>
-        protected FailoverTaskSelfTest(bool fork) : base(fork) { }
-
-        /// <summary>
-        /// Test for GridComputeJobFailoverException.
-        /// </summary>
-        [Test]
-        public void TestClosureFailoverException()
-        {
-            for (int i = 0; i < 20; i++)
-            {
-                int res = Grid1.GetCompute().Call(new TestClosure());
-
-                Assert.AreEqual(2, res);
-
-                Cleanup();
-            }
-        }
-
-        /// <summary>
-        /// Test for GridComputeJobFailoverException with serializable job.
-        /// </summary>
-        [Test]
-        public void TestTaskAdapterFailoverExceptionSerializable()
-        {
-            TestTaskAdapterFailoverException(true);
-        }
-
-        /// <summary>
-        /// Test for GridComputeJobFailoverException with portable job.
-        /// </summary>
-        [Test]
-        public void TestTaskAdapterFailoverExceptionPortable()
-        {
-            TestTaskAdapterFailoverException(false);
-        }
-
-        /// <summary>
-        /// Test for GridComputeJobFailoverException.
-        /// </summary>
-        private void TestTaskAdapterFailoverException(bool serializable)
-        {
-            int res = Grid1.GetCompute().Execute(new TestTask(),
-                new Tuple<bool, bool>(serializable, true));
-
-            Assert.AreEqual(2, res);
-
-            Cleanup();
-
-            res = Grid1.GetCompute().Execute(new TestTask(),
-                new Tuple<bool, bool>(serializable, false));
-
-            Assert.AreEqual(2, res);
-        }
-
-        /// <summary>
-        /// Cleanup.
-        /// </summary>
-        [TearDown]
-        public void Cleanup()
-        {
-            _cnt = 0;
-
-            _gridName = null;
-        }
-
-        /** <inheritDoc /> */
-        override protected void PortableTypeConfigurations(ICollection<PortableTypeConfiguration> portTypeCfgs)
-        {
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(TestPortableJob)));
-        }
-
-        /// <summary>
-        /// Test task.
-        /// </summary>
-        public class TestTask : ComputeTaskAdapter<Tuple<bool, bool>, int, int>
-        {
-            /** <inheritDoc /> */
-            override public IDictionary<IComputeJob<int>, IClusterNode> Map(IList<IClusterNode> subgrid, Tuple<bool, bool> arg)
-            {
-                Assert.AreEqual(3, subgrid.Count);
-
-                Tuple<bool, bool> t = arg;
-
-                bool serializable = t.Item1;
-                bool local = t.Item2;
-
-                IDictionary<IComputeJob<int>, IClusterNode> jobs = new Dictionary<IComputeJob<int>, IClusterNode>();
-
-                IComputeJob<int> job;
-
-                if (serializable)
-                    job = new TestSerializableJob();
-                else
-                    job = new TestPortableJob();
-
-                foreach (IClusterNode node in subgrid) {
-                    bool add = local ? node.IsLocal : !node.IsLocal;
-
-                    if (add)
-                    {
-                        jobs.Add(job, node);
-
-                        break;
-                    }
-                }
-
-                Assert.AreEqual(1, jobs.Count);
-
-                return jobs;
-            }
-
-            /** <inheritDoc /> */
-            override public int Reduce(IList<IComputeJobResult<int>> results)
-            {
-                Assert.AreEqual(1, results.Count);
-
-                return results[0].Data();
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [Serializable]
-        class TestClosure : IComputeFunc<int>
-        {
-            [InstanceResource]
-            private IIgnite _grid = null;
-
-            /** <inheritDoc /> */
-            public int Invoke()
-            {
-                return FailoverJob(_grid);
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [Serializable]
-        class TestSerializableJob : IComputeJob<int>
-        {
-            [InstanceResource]
-            private IIgnite _grid = null;
-
-            /** <inheritDoc /> */
-            public int Execute()
-            {
-                return FailoverJob(_grid);
-            }
-
-            /** <inheritDoc /> */
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        class TestPortableJob : IComputeJob<int>
-        {
-            [InstanceResource]
-            private IIgnite _grid = null;
-
-            /** <inheritDoc /> */
-            public int Execute()
-            {
-                return FailoverJob(_grid);
-            }
-
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        /// Throws GridComputeJobFailoverException on first call.
-        /// </summary>
-        private static int FailoverJob(IIgnite grid)
-        {
-            Assert.NotNull(grid);
-
-            _cnt++;
-
-            if (_gridName == null)
-            {
-                _gridName = grid.Name;
-
-                throw new ComputeJobFailoverException("Test error.");
-            }
-            Assert.AreNotEqual(_gridName, grid.Name);
-
-            return _cnt;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedPortableClosureTaskTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedPortableClosureTaskTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedPortableClosureTaskTest.cs
deleted file mode 100644
index 4ce917b..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedPortableClosureTaskTest.cs
+++ /dev/null
@@ -1,30 +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.Compute.Forked
-{
-    /// <summary>
-    /// Forked closure execution tests for portable objects.
-    /// </summary>
-    public class ForkedPortableClosureTaskTest : PortableClosureTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public ForkedPortableClosureTaskTest() : base(true) { }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedResourceTaskTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedResourceTaskTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedResourceTaskTest.cs
deleted file mode 100644
index 84c1ba2..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedResourceTaskTest.cs
+++ /dev/null
@@ -1,33 +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.Compute.Forked
-{
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Forked resource task test.
-    /// </summary>
-    [Ignore("IGNITE-1381")]
-    public class ForkedResourceTaskTest : ResourceTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public ForkedResourceTaskTest() : base(true) { }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedSerializableClosureTaskTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedSerializableClosureTaskTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedSerializableClosureTaskTest.cs
deleted file mode 100644
index 0324125..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedSerializableClosureTaskTest.cs
+++ /dev/null
@@ -1,33 +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.Compute.Forked
-{
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Forked closure execution tests for serializable objects.
-    /// </summary>
-    [Ignore("IGNITE-1381")]
-    public class ForkedSerializableClosureTaskTest : SerializableClosureTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public ForkedSerializableClosureTaskTest() : base(true) { }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedTaskAdapterTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedTaskAdapterTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedTaskAdapterTest.cs
deleted file mode 100644
index a4cf182..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/Forked/ForkedTaskAdapterTest.cs
+++ /dev/null
@@ -1,30 +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.Compute.Forked
-{
-    /// <summary>
-    /// Forked task adapter test.
-    /// </summary>
-    public class ForkedTaskAdapterTest : TaskAdapterTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public ForkedTaskAdapterTest() : base(true) { }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/IgniteExceptionTaskSelfTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/IgniteExceptionTaskSelfTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/IgniteExceptionTaskSelfTest.cs
deleted file mode 100644
index 62f860d..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/IgniteExceptionTaskSelfTest.cs
+++ /dev/null
@@ -1,753 +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.Compute
-{
-    using System;
-    using System.Collections.Generic;
-    using System.Linq;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Cluster;
-    using Apache.Ignite.Core.Common;
-    using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Resource;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Tests for exception handling on various task execution stages.
-    /// </summary>
-    public class IgniteExceptionTaskSelfTest : AbstractTaskTest
-    {
-        /** Error mode. */
-        public static ErrorMode Mode;
-
-        /** Observed job errors. */
-        public static readonly ICollection<Exception> JobErrs = new List<Exception>();
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public IgniteExceptionTaskSelfTest() : base(false) { }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="fork">Fork flag.</param>
-        protected IgniteExceptionTaskSelfTest(bool fork) : base(fork) { }
-
-        /// <summary>
-        /// Test error occurred during map step.
-        /// </summary>
-        [Test]
-        public void TestMapError()
-        {
-            Mode = ErrorMode.MapErr;
-
-            GoodException e = ExecuteWithError() as GoodException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.MapErr, e.Mode);
-        }
-
-        /// <summary>
-        /// Test not-marshalable error occurred during map step.
-        /// </summary>
-        [Test]
-        public void TestMapNotMarshalableError()
-        {
-            Mode = ErrorMode.MapErrNotMarshalable;
-
-            BadException e = ExecuteWithError() as BadException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.MapErrNotMarshalable, e.Mode);
-        }
-
-        /// <summary>
-        /// Test task behavior when job produced by mapper is not marshalable.
-        /// </summary>
-        [Test]
-        public void TestMapNotMarshalableJob()
-        {
-            Mode = ErrorMode.MapJobNotMarshalable;
-
-            SerializationException e = ExecuteWithError() as SerializationException;
-
-            Assert.IsNotNull(e);
-        }
-
-        /// <summary>
-        /// Test local job error.
-        /// </summary>
-        [Test]
-        public void TestLocalJobError()
-        {
-            Mode = ErrorMode.LocJobErr;
-
-            int res = Execute();
-
-            Assert.AreEqual(2, res);
-
-            Assert.AreEqual(1, JobErrs.Count);
-            Assert.IsNotNull(JobErrs.First() as GoodException);
-            Assert.AreEqual(ErrorMode.LocJobErr, ((GoodException) JobErrs.First()).Mode);
-        }
-
-        /// <summary>
-        /// Test local not-marshalable job error.
-        /// </summary>
-        [Test]
-        public void TestLocalJobErrorNotMarshalable()
-        {
-            Mode = ErrorMode.LocJobErrNotMarshalable;
-
-            int res = Execute();
-
-            Assert.AreEqual(2, res);
-
-            Assert.AreEqual(1, JobErrs.Count);
-            Assert.IsNotNull(JobErrs.First() as BadException); // Local job exception is not marshalled.
-        }
-
-        /// <summary>
-        /// Test local not-marshalable job result.
-        /// </summary>
-        [Test]
-        public void TestLocalJobResultNotMarshalable()
-        {
-            Mode = ErrorMode.LocJobResNotMarshalable;
-
-            int res = Execute();
-
-            Assert.AreEqual(3, res); // Local job result is not marshalled.
-
-            Assert.AreEqual(0, JobErrs.Count);
-        }
-
-        /// <summary>
-        /// Test remote job error.
-        /// </summary>
-        [Test]
-        public void TestRemoteJobError()
-        {
-            Mode = ErrorMode.RmtJobErr;
-
-            int res = Execute();
-
-            Assert.AreEqual(1, res);
-
-            Assert.AreEqual(2, JobErrs.Count);
-
-            Assert.IsNotNull(JobErrs.ElementAt(0) as GoodException);
-            Assert.IsNotNull(JobErrs.ElementAt(1) as GoodException);
-
-            Assert.AreEqual(ErrorMode.RmtJobErr, ((GoodException) JobErrs.ElementAt(0)).Mode);
-            Assert.AreEqual(ErrorMode.RmtJobErr, ((GoodException) JobErrs.ElementAt(1)).Mode);
-        }
-
-        /// <summary>
-        /// Test remote not-marshalable job error.
-        /// </summary>
-        [Test]
-        public void TestRemoteJobErrorNotMarshalable()
-        {
-            Mode = ErrorMode.RmtJobErrNotMarshalable;
-
-            int res = Execute();
-
-            Assert.AreEqual(1, res);
-
-            Assert.AreEqual(2, JobErrs.Count);
-
-            Assert.IsNotNull(JobErrs.ElementAt(0) as IgniteException);
-            Assert.IsNotNull(JobErrs.ElementAt(1) as IgniteException);
-        }
-
-        /// <summary>
-        /// Test local not-marshalable job result.
-        /// </summary>
-        [Test]
-        public void TestRemoteJobResultNotMarshalable()
-        {
-            Mode = ErrorMode.RmtJobResNotMarshalable;
-
-            int res = Execute();
-
-            Assert.AreEqual(1, res);
-
-            Assert.AreEqual(2, JobErrs.Count);
-
-            Assert.IsNotNull(JobErrs.ElementAt(0) as IgniteException);
-            Assert.IsNotNull(JobErrs.ElementAt(1) as IgniteException);
-        }
-
-        /// <summary>
-        /// Test local result error.
-        /// </summary>
-        [Test]
-        public void TestLocalResultError()
-        {
-            Mode = ErrorMode.LocResErr;
-
-            GoodException e = ExecuteWithError() as GoodException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.LocResErr, e.Mode);
-        }
-
-        /// <summary>
-        /// Test local result not-marshalable error.
-        /// </summary>
-        [Test]
-        public void TestLocalResultErrorNotMarshalable()
-        {
-            Mode = ErrorMode.LocResErrNotMarshalable;
-
-            BadException e = ExecuteWithError() as BadException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.LocResErrNotMarshalable, e.Mode);
-        }
-
-        /// <summary>
-        /// Test remote result error.
-        /// </summary>
-        [Test]
-        public void TestRemoteResultError()
-        {
-            Mode = ErrorMode.RmtResErr;
-
-            GoodException e = ExecuteWithError() as GoodException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.RmtResErr, e.Mode);
-        }
-
-        /// <summary>
-        /// Test remote result not-marshalable error.
-        /// </summary>
-        [Test]
-        public void TestRemoteResultErrorNotMarshalable()
-        {
-            Mode = ErrorMode.RmtResErrNotMarshalable;
-
-            BadException e = ExecuteWithError() as BadException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.RmtResErrNotMarshalable, e.Mode);
-        }
-
-        /// <summary>
-        /// Test reduce with error.
-        /// </summary>
-        [Test]
-        public void TestReduceError()
-        {
-            Mode = ErrorMode.ReduceErr;
-
-            GoodException e = ExecuteWithError() as GoodException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.ReduceErr, e.Mode);
-        }
-
-        /// <summary>
-        /// Test reduce with not-marshalable error.
-        /// </summary>
-        [Test]
-        public void TestReduceErrorNotMarshalable()
-        {
-            Mode = ErrorMode.ReduceErrNotMarshalable;
-
-            BadException e = ExecuteWithError() as BadException;
-
-            Assert.IsNotNull(e);
-
-            Assert.AreEqual(ErrorMode.ReduceErrNotMarshalable, e.Mode);
-        }
-
-        /// <summary>
-        /// Test reduce with not-marshalable result.
-        /// </summary>
-        [Test]
-        public void TestReduceResultNotMarshalable()
-        {
-            Mode = ErrorMode.ReduceResNotMarshalable;
-
-            int res = Execute();
-
-            Assert.AreEqual(3, res);
-        }
-
-        /// <summary>
-        /// Execute task successfully.
-        /// </summary>
-        /// <returns>Task result.</returns>
-        private int Execute()
-        {
-            JobErrs.Clear();
-
-            object res = Grid1.GetCompute().Execute(new Task());
-
-            return res is GoodTaskResult ? ((GoodTaskResult)res).Res : ((BadTaskResult)res).Res;
-        }
-
-        /// <summary>
-        /// Execute task with error.
-        /// </summary>
-        /// <returns>Task</returns>
-        private Exception ExecuteWithError()
-        {
-            JobErrs.Clear();
-
-            Exception err = null;
-
-            try
-            {
-                Grid1.GetCompute().Execute(new Task());
-
-                Assert.Fail();
-            }
-            catch (Exception e)
-            {
-                err = e;
-            }
-
-            return err;
-        }
-
-        /// <summary>
-        /// Error modes.
-        /// </summary>
-        public enum ErrorMode
-        {
-            /** Error during map step. */
-            MapErr,
-
-            /** Error during map step which is not marshalable. */
-            MapErrNotMarshalable,
-
-            /** Job created by mapper is not marshalable. */
-            MapJobNotMarshalable,
-
-            /** Error occurred in local job. */
-            LocJobErr,
-
-            /** Error occurred in local job and is not marshalable. */
-            LocJobErrNotMarshalable,
-
-            /** Local job result is not marshalable. */
-            LocJobResNotMarshalable,
-
-            /** Error occurred in remote job. */
-            RmtJobErr,
-
-            /** Error occurred in remote job and is not marshalable. */
-            RmtJobErrNotMarshalable,
-
-            /** Remote job result is not marshalable. */
-            RmtJobResNotMarshalable,            
-
-            /** Error occurred during local result processing. */
-            LocResErr,
-
-            /** Error occurred during local result processing and is not marshalable. */
-            LocResErrNotMarshalable,
-
-            /** Error occurred during remote result processing. */
-            RmtResErr,
-
-            /** Error occurred during remote result processing and is not marshalable. */
-            RmtResErrNotMarshalable,
-
-            /** Error during reduce step. */
-            ReduceErr,
-
-            /** Error during reduce step and is not marshalable. */
-            ReduceErrNotMarshalable,
-
-            /** Reduce result is not marshalable. */
-            ReduceResNotMarshalable
-        }
-
-        /// <summary>
-        /// Task.
-        /// </summary>
-        public class Task : IComputeTask<object, object>
-        {
-            /** Grid. */
-            [InstanceResource]
-            private IIgnite _grid = null;
-
-            /** Result. */
-            private int _res;
-
-            /** <inheritDoc /> */
-            public IDictionary<IComputeJob<object>, IClusterNode> Map(IList<IClusterNode> subgrid, object arg)
-            {
-                switch (Mode)
-                {
-                    case ErrorMode.MapErr:
-                        throw new GoodException(ErrorMode.MapErr);
-
-                    case ErrorMode.MapErrNotMarshalable:
-                        throw new BadException(ErrorMode.MapErrNotMarshalable);
-
-                    case ErrorMode.MapJobNotMarshalable:
-                    {
-                        var badJobs = new Dictionary<IComputeJob<object>, IClusterNode>();
-
-                        foreach (IClusterNode node in subgrid)
-                            badJobs.Add(new BadJob(), node);
-
-                        return badJobs;
-                    }
-                }
-
-                // Map completes sucessfully and we spread jobs to all nodes.
-                var jobs = new Dictionary<IComputeJob<object>, IClusterNode>();
-
-                foreach (IClusterNode node in subgrid)
-                    jobs.Add(new GoodJob(!_grid.GetCluster().GetLocalNode().Id.Equals(node.Id)), node);
-
-                return jobs;
-            }
-
-            /** <inheritDoc /> */
-            public ComputeJobResultPolicy Result(IComputeJobResult<object> res, IList<IComputeJobResult<object>> rcvd)
-            {
-                if (res.Exception() != null)
-                    JobErrs.Add(res.Exception());
-                else
-                {
-                    object res0 = res.Data();
-
-                    bool rmt = res0 is GoodJobResult ? ((GoodJobResult)res0).Rmt : ((BadJobResult)res0).Rmt;
-
-                    if (rmt)
-                    {
-                        switch (Mode)
-                        {
-                            case ErrorMode.RmtResErr:
-                                throw new GoodException(ErrorMode.RmtResErr);
-
-                            case ErrorMode.RmtResErrNotMarshalable:
-                                throw new BadException(ErrorMode.RmtResErrNotMarshalable);
-                        }
-                    }
-                    else
-                    {
-                        switch (Mode)
-                        {
-                            case ErrorMode.LocResErr:
-                                throw new GoodException(ErrorMode.LocResErr);
-
-                            case ErrorMode.LocResErrNotMarshalable:
-                                throw new BadException(ErrorMode.LocResErrNotMarshalable);
-                        }
-                    }
-
-                    _res += 1;
-                }
-
-                return ComputeJobResultPolicy.Wait;
-            }
-
-            /** <inheritDoc /> */
-            public object Reduce(IList<IComputeJobResult<object>> results)
-            {
-                switch (Mode)
-                {
-                    case ErrorMode.ReduceErr:
-                        throw new GoodException(ErrorMode.ReduceErr);
-
-                    case ErrorMode.ReduceErrNotMarshalable:
-                        throw new BadException(ErrorMode.ReduceErrNotMarshalable);
-
-                    case ErrorMode.ReduceResNotMarshalable:
-                        return new BadTaskResult(_res);
-                }
-
-                return new GoodTaskResult(_res);
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [Serializable]
-        public class GoodJob : IComputeJob<object>
-        {
-            /** Whether the job is remote. */
-            private bool _rmt;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="rmt"></param>
-            public GoodJob(bool rmt)
-            {
-                _rmt = rmt;
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public GoodJob(SerializationInfo info, StreamingContext context)
-            {
-                _rmt = info.GetBoolean("rmt");
-            }
-
-            /** <inheritDoc /> */
-            public void GetObjectData(SerializationInfo info, StreamingContext context)
-            {
-                info.AddValue("rmt", _rmt);
-            }
-
-            /** <inheritDoc /> */
-            public object Execute()
-            {
-                if (_rmt)
-                {
-                    switch (Mode)
-                    {
-                        case ErrorMode.RmtJobErr:
-                            throw new GoodException(ErrorMode.RmtJobErr);
-
-                        case ErrorMode.RmtJobErrNotMarshalable:
-                            throw new BadException(ErrorMode.RmtJobErr);
-
-                        case ErrorMode.RmtJobResNotMarshalable:
-                            return new BadJobResult(_rmt);
-                    }
-                }
-                else
-                {
-                    switch (Mode)
-                    {
-                        case ErrorMode.LocJobErr:
-                            throw new GoodException(ErrorMode.LocJobErr);
-
-                        case ErrorMode.LocJobErrNotMarshalable:
-                            throw new BadException(ErrorMode.LocJobErr);
-
-                        case ErrorMode.LocJobResNotMarshalable:
-                            return new BadJobResult(_rmt);
-                    }
-                }
-
-                return new GoodJobResult(_rmt);
-            }
-
-            /** <inheritDoc /> */
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public class BadJob : IComputeJob<object>
-        {
-            [InstanceResource]
-
-            /** <inheritDoc /> */
-            public object Execute()
-            {
-                throw new NotImplementedException();
-            }
-
-            /** <inheritDoc /> */
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [Serializable]
-        public class GoodJobResult
-        {
-            /** */
-            public bool Rmt;
-            
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="rmt"></param>
-            public GoodJobResult(bool rmt)
-            {
-                Rmt = rmt;
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public GoodJobResult(SerializationInfo info, StreamingContext context)
-            {
-                Rmt = info.GetBoolean("rmt");
-            }
-
-            /** <inheritDoc /> */
-            public void GetObjectData(SerializationInfo info, StreamingContext context)
-            {
-                info.AddValue("rmt", Rmt);
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public class BadJobResult
-        {
-            /** */
-            public bool Rmt;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="rmt"></param>
-            public BadJobResult(bool rmt)
-            {
-                Rmt = rmt;
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [Serializable]
-        public class GoodTaskResult
-        {
-            /** */
-            public int Res;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="res"></param>
-            public GoodTaskResult(int res)
-            {
-                Res = res;
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public GoodTaskResult(SerializationInfo info, StreamingContext context)
-            {
-                Res = info.GetInt32("res");
-            }
-
-            /** <inheritDoc /> */
-            public void GetObjectData(SerializationInfo info, StreamingContext context)
-            {
-                info.AddValue("res", Res);
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public class BadTaskResult
-        {
-            /** */
-            public int Res;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="res"></param>
-            public BadTaskResult(int res)
-            {
-                Res = res;
-            }
-        }
-
-        /// <summary>
-        /// Marshalable exception.
-        /// </summary>
-        [Serializable]
-        public class GoodException : Exception
-        {
-            /** */
-            public ErrorMode Mode;
-            
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="mode"></param>
-            public GoodException(ErrorMode mode)
-            {
-                Mode = mode;
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public GoodException(SerializationInfo info, StreamingContext context)
-            {
-                Mode = (ErrorMode)info.GetInt32("mode");
-            }
-
-            /** <inheritDoc /> */
-            public override void GetObjectData(SerializationInfo info, StreamingContext context)
-            {
-                info.AddValue("mode", (int)Mode);
-
-                base.GetObjectData(info, context);
-            }
-        }
-
-        /// <summary>
-        /// Not marshalable exception.
-        /// </summary>
-        public class BadException : Exception
-        {
-            /** */
-            public ErrorMode Mode;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="mode"></param>
-            public BadException(ErrorMode mode)
-            {
-                Mode = mode;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableClosureTaskTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableClosureTaskTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableClosureTaskTest.cs
deleted file mode 100644
index 3ca933e..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableClosureTaskTest.cs
+++ /dev/null
@@ -1,217 +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.Compute
-{
-    using System;
-    using System.Collections.Generic;
-    using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Portable;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Closure execution tests for portable objects.
-    /// </summary>
-    public class PortableClosureTaskTest : ClosureTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public PortableClosureTaskTest() : base(false) { }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="fork">Fork flag.</param>
-        protected PortableClosureTaskTest(bool fork) : base(fork) { }
-
-        /** <inheritDoc /> */
-        protected override void PortableTypeConfigurations(ICollection<PortableTypeConfiguration> portTypeCfgs)
-        {
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableOutFunc)));
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableFunc)));
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableResult)));
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableException)));
-        }
-
-        /** <inheritDoc /> */
-        protected override IComputeFunc<object> OutFunc(bool err)
-        {
-            return new PortableOutFunc(err);
-        }
-
-        /** <inheritDoc /> */
-        protected override IComputeFunc<object, object> Func(bool err)
-        {
-            return new PortableFunc(err);
-        }
-
-        /** <inheritDoc /> */
-        protected override void CheckResult(object res)
-        {
-            Assert.IsTrue(res != null);
-
-            PortableResult res0 = res as PortableResult;
-
-            Assert.IsTrue(res0 != null);
-            Assert.AreEqual(1, res0.Res);
-        }
-
-        /** <inheritDoc /> */
-        protected override void CheckError(Exception err)
-        {
-            Assert.IsTrue(err != null);
-
-            PortableException err0 = err as PortableException;
-
-            Assert.IsTrue(err0 != null);
-            Assert.AreEqual(ErrMsg, err0.Msg);
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        private class PortableOutFunc : IComputeFunc<object>
-        {
-            /** Error. */
-            private bool _err;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            public PortableOutFunc()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="err"></param>
-            public PortableOutFunc(bool err)
-            {
-                _err = err;
-            }
-            
-            /** <inheritDoc /> */
-            public object Invoke()
-            {
-                if (_err)
-                    throw new PortableException(ErrMsg);
-                return new PortableResult(1);
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        private class PortableFunc : IComputeFunc<object, object>
-        {
-            /** Error. */
-            private bool _err;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            public PortableFunc()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="err"></param>
-            public PortableFunc(bool err)
-            {
-                _err = err;
-            }
-            
-            /** <inheritDoc /> */
-            public object Invoke(object arg)
-            {
-                if (_err)
-                    throw new PortableException(ErrMsg);
-                return new PortableResult(1);
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        private class PortableException : Exception, IPortableMarshalAware
-        {
-            /** */
-            public string Msg;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            public PortableException()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="msg"></param>
-            public PortableException(string msg) : this()
-            {
-                Msg = msg;
-            }
-
-            /** <inheritDoc /> */
-            public void WritePortable(IPortableWriter writer)
-            {
-                writer.RawWriter().WriteString(Msg);
-            }
-
-            /** <inheritDoc /> */
-            public void ReadPortable(IPortableReader reader)
-            {
-                Msg = reader.RawReader().ReadString();
-            }
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        private class PortableResult
-        {
-            /** */
-            public int Res;
-
-            /// <summary>
-            /// 
-            /// </summary>
-            public PortableResult()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            /// 
-            /// </summary>
-            /// <param name="res"></param>
-            public PortableResult(int res)
-            {
-                Res = res;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableTaskTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableTaskTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableTaskTest.cs
deleted file mode 100644
index 736aa61..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/PortableTaskTest.cs
+++ /dev/null
@@ -1,253 +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.Compute
-{
-    using System.Collections.Generic;
-    using Apache.Ignite.Core.Cluster;
-    using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Portable;
-    using Apache.Ignite.Core.Resource;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Task test result.
-    /// </summary>
-    public class PortableTaskTest : AbstractTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public PortableTaskTest() : base(false) { }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="fork">Fork flag.</param>
-        protected PortableTaskTest(bool fork) : base(fork) { }
-
-        /// <summary>
-        /// Test for task result.
-        /// </summary>
-        [Test]
-        public void TestPortableObjectInTask()
-        {
-            IPortableObject taskArg = ToPortable(Grid1, new PortableTaskArgument(100));
-
-            TestTask task = new TestTask(Grid1, taskArg);
-
-            IPortableObject res = Grid1.GetCompute().Execute(task, taskArg);
-
-            Assert.NotNull(res);
-
-            Assert.AreEqual(400, res.GetField<int>("val"));
-
-            PortableTaskResult resObj = res.Deserialize<PortableTaskResult>();
-
-            Assert.AreEqual(400, resObj.Val);
-        }
-
-        private static IPortableObject ToPortable(IIgnite grid, object obj)
-        {
-            var cache = grid.GetCache<object, object>(Cache1Name).WithKeepPortable<object, object>();
-
-            cache.Put(1, obj);
-
-            return (IPortableObject) cache.Get(1);
-        }
-
-        /** <inheritDoc /> */
-        override protected void PortableTypeConfigurations(ICollection<PortableTypeConfiguration> portTypeCfgs)
-        {
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableJobArgument)));
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableJobResult)));
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableTaskArgument)));
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableTaskResult)));
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableJob)));
-        }
-
-        /// <summary>
-        /// Test task.
-        /// </summary>
-        public class TestTask : ComputeTaskAdapter<IPortableObject, IPortableObject, IPortableObject>
-        {
-            /** */
-            private readonly IIgnite _grid;
-
-            private readonly IPortableObject _taskArgField;
-
-            public TestTask(IIgnite grid, IPortableObject taskArgField)
-            {
-                _grid = grid;
-                _taskArgField = taskArgField;
-            }
-
-            /** <inheritDoc /> */
-            override public IDictionary<IComputeJob<IPortableObject>, IClusterNode> Map(IList<IClusterNode> subgrid, IPortableObject arg)
-            {
-                Assert.AreEqual(3, subgrid.Count);
-                Assert.NotNull(_grid);
-
-                IPortableObject taskArg = arg;
-
-                CheckTaskArgument(taskArg);
-
-                CheckTaskArgument(_taskArgField);
-
-                IDictionary<IComputeJob<IPortableObject>, IClusterNode> jobs = new Dictionary<IComputeJob<IPortableObject>, IClusterNode>();
-
-
-                foreach (IClusterNode node in subgrid)
-                {
-                    if (!Grid3Name.Equals(node.GetAttribute<string>("org.apache.ignite.ignite.name"))) // Grid3 does not have cache.
-                    {
-                        PortableJob job = new PortableJob();
-
-                        job.Arg = ToPortable(_grid, new PortableJobArgument(200));
-
-                        jobs.Add(job, node);
-                    }
-                }
-
-                Assert.AreEqual(2, jobs.Count);
-
-                return jobs;
-            }
-
-            private void CheckTaskArgument(IPortableObject taskArg)
-            {
-                Assert.IsNotNull(taskArg);
-
-                Assert.AreEqual(100, taskArg.GetField<int>("val"));
-
-                PortableTaskArgument taskArgObj = taskArg.Deserialize<PortableTaskArgument>();
-
-                Assert.AreEqual(100, taskArgObj.Val);
-            }
-
-            /** <inheritDoc /> */
-            override public IPortableObject Reduce(IList<IComputeJobResult<IPortableObject>> results)
-            {
-                Assert.NotNull(_grid);
-
-                Assert.AreEqual(2, results.Count);
-
-                foreach (IComputeJobResult<IPortableObject> res in results)
-                {
-                    IPortableObject jobRes = res.Data();
-
-                    Assert.NotNull(jobRes);
-
-                    Assert.AreEqual(300, jobRes.GetField<int>("val"));
-
-                    PortableJobResult jobResObj = jobRes.Deserialize<PortableJobResult>();
-
-                    Assert.AreEqual(300, jobResObj.Val);
-                }
-
-                return ToPortable(_grid, new PortableTaskResult(400));
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        class PortableJobArgument
-        {
-            /** */
-            public int Val;
-
-            public PortableJobArgument(int val)
-            {
-                Val = val;
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        class PortableJobResult
-        {
-            /** */
-            public int Val;
-
-            public PortableJobResult(int val)
-            {
-                Val = val;
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        class PortableTaskArgument
-        {
-            /** */
-            public int Val;
-
-            public PortableTaskArgument(int val)
-            {
-                Val = val;
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        class PortableTaskResult
-        {
-            /** */
-            public int Val;
-
-            public PortableTaskResult(int val)
-            {
-                Val = val;
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        class PortableJob : IComputeJob<IPortableObject>
-        {
-            [InstanceResource]
-            private IIgnite _grid = null;
-            
-            /** */
-            public IPortableObject Arg;
-
-            /** <inheritDoc /> */
-            public IPortableObject Execute()
-            {
-                Assert.IsNotNull(Arg);
-
-                Assert.AreEqual(200, Arg.GetField<int>("val"));
-
-                PortableJobArgument argObj = Arg.Deserialize<PortableJobArgument>();
-
-                Assert.AreEqual(200, argObj.Val);
-
-                return ToPortable(_grid, new PortableJobResult(300));
-            }
-
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/ResourceTaskTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/ResourceTaskTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/ResourceTaskTest.cs
deleted file mode 100644
index 55bb9d0..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/ResourceTaskTest.cs
+++ /dev/null
@@ -1,568 +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.Compute
-{
-    using System;
-    using System.Collections.Generic;
-    using System.Linq;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Cluster;
-    using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Resource;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Test resource injections in tasks and jobs.
-    /// </summary>
-    public class ResourceTaskTest : AbstractTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public ResourceTaskTest() : base(false) { }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="fork">Fork flag.</param>
-        protected ResourceTaskTest(bool fork) : base(fork) { }
-
-        /// <summary>
-        /// Test Ignite injection into the task.
-        /// </summary>
-        [Test]
-        public void TestTaskInjection()
-        {
-            int res = Grid1.GetCompute().Execute(new InjectionTask(), 0);
-
-            Assert.AreEqual(Grid1.GetCluster().GetNodes().Count, res);
-        }
-
-        /// <summary>
-        /// Test Ignite injection into the closure.
-        /// </summary>
-        [Test]
-        public void TestClosureInjection()
-        {
-            var res = Grid1.GetCompute().Broadcast(new InjectionClosure(), 1);
-
-            Assert.AreEqual(Grid1.GetCluster().GetNodes().Count, res.Sum());
-        }
-
-        /// <summary>
-        /// Test Ignite injection into reducer.
-        /// </summary>
-        [Test]
-        public void TestReducerInjection()
-        {
-            int res = Grid1.GetCompute().Apply(new InjectionClosure(), new List<int> { 1, 1, 1 }, new InjectionReducer());
-
-            Assert.AreEqual(Grid1.GetCluster().GetNodes().Count, res);
-        }
-
-        /// <summary>
-        /// Test no-result-cache attribute.
-        /// </summary>
-        [Test]
-        public void TestNoResultCache()
-        {
-            int res = Grid1.GetCompute().Execute(new NoResultCacheTask(), 0);
-
-            Assert.AreEqual(Grid1.GetCluster().GetNodes().Count, res);
-        }
-
-        /// <summary>
-        /// Injection task.
-        /// </summary>
-        public class InjectionTask : Injectee, IComputeTask<object, int, int>
-        {
-            /** <inheritDoc /> */
-            public IDictionary<IComputeJob<int>, IClusterNode> Map(IList<IClusterNode> subgrid, object arg)
-            {
-                CheckInjection();
-
-                return subgrid.ToDictionary(x => (IComputeJob<int>) new InjectionJob(), x => x);
-            }
-
-            /** <inheritDoc /> */
-            public ComputeJobResultPolicy Result(IComputeJobResult<int> res, IList<IComputeJobResult<int>> rcvd)
-            {
-                return ComputeJobResultPolicy.Wait;
-            }
-
-            /** <inheritDoc /> */
-            public int Reduce(IList<IComputeJobResult<int>> results)
-            {
-                return results.Sum(res => res.Data());
-            }
-        }
-
-        /// <summary>
-        /// Injection job.
-        /// </summary>
-        [Serializable]
-        public class InjectionJob : Injectee, IComputeJob<int>
-        {
-            /// <summary>
-            ///
-            /// </summary>
-            public InjectionJob()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public InjectionJob(SerializationInfo info, StreamingContext context) : base(info, context)
-            {
-                // No-op.
-            }
-
-            /** <inheritDoc /> */
-            public int Execute()
-            {
-                CheckInjection();
-
-                return 1;
-            }
-
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        /// Injection closure.
-        /// </summary>
-        [Serializable]
-        public class InjectionClosure : IComputeFunc<int, int>
-        {
-            /** */
-            [InstanceResource]
-            private static IIgnite _staticGrid1;
-
-            /** */
-            [InstanceResource]
-            public static IIgnite StaticGrid2;
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            public static IIgnite StaticPropGrid1
-            {
-                get { return _staticGrid1; }
-                set { _staticGrid1 = value; }
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            private static IIgnite StaticPropGrid2
-            {
-                get { return StaticGrid2; }
-                set { StaticGrid2 = value; }
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            public static void StaticMethod1(IIgnite grid)
-            {
-                _staticGrid1 = grid;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            private static void StaticMethod2(IIgnite grid)
-            {
-                StaticGrid2 = grid;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            public InjectionClosure()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public InjectionClosure(SerializationInfo info, StreamingContext context)
-            {
-                // No-op.
-            }
-
-            /** */
-            [InstanceResource]
-            private readonly IIgnite _grid1 = null;
-
-            /** */
-            [InstanceResource]
-            public IIgnite Grid2;
-
-            /** */
-            private IIgnite _mthdGrid1;
-
-            /** */
-            private IIgnite _mthdGrid2;
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            public IIgnite PropGrid1
-            {
-                get;
-                set;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            private IIgnite PropGrid2
-            {
-                get;
-                set;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            public void Method1(IIgnite grid)
-            {
-                _mthdGrid1 = grid;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            private void Method2(IIgnite grid)
-            {
-                _mthdGrid2 = grid;
-            }
-
-            /// <summary>
-            /// Check Ignite injections.
-            /// </summary>
-            protected void CheckInjection()
-            {
-                Assert.IsTrue(_staticGrid1 == null);
-                Assert.IsTrue(StaticGrid2 == null);
-
-                Assert.IsTrue(_grid1 != null);
-                Assert.IsTrue(Grid2 == _grid1);
-
-                Assert.IsTrue(PropGrid1 == _grid1);
-                Assert.IsTrue(PropGrid2 == _grid1);
-
-                Assert.IsTrue(_mthdGrid1 == _grid1);
-                Assert.IsTrue(_mthdGrid2 == _grid1);
-            }
-
-            /** <inheritDoc /> */
-            public void GetObjectData(SerializationInfo info, StreamingContext context)
-            {
-                // No-op.
-            }
-
-            /** <inheritDoc /> */
-            public int Invoke(int arg)
-            {
-                CheckInjection();
-
-                return arg;
-            }
-        }
-
-        /// <summary>
-        /// Injection reducer.
-        /// </summary>
-        public class InjectionReducer : Injectee, IComputeReducer<int, int>
-        {
-            /** Collected results. */
-            private readonly ICollection<int> _ress = new List<int>();
-
-            /** <inheritDoc /> */
-            public bool Collect(int res)
-            {
-                CheckInjection();
-
-                lock (_ress)
-                {
-                    _ress.Add(res);
-                }
-
-                return true;
-            }
-
-            /** <inheritDoc /> */
-            public int Reduce()
-            {
-                CheckInjection();
-
-                lock (_ress)
-                {
-                    return _ress.Sum();
-                }
-            }
-        }
-
-        /// <summary>
-        /// Injectee.
-        /// </summary>
-        [Serializable]
-        public class Injectee : ISerializable
-        {
-            /** */
-            [InstanceResource]
-            private static IIgnite _staticGrid1;
-
-            /** */
-            [InstanceResource]
-            public static IIgnite StaticGrid2;
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            public static IIgnite StaticPropGrid1
-            {
-                get { return _staticGrid1; }
-                set { _staticGrid1 = value; }
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            private static IIgnite StaticPropGrid2
-            {
-                get { return StaticGrid2; }
-                set { StaticGrid2 = value; }
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            public static void StaticMethod1(IIgnite grid)
-            {
-                _staticGrid1 = grid;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            private static void StaticMethod2(IIgnite grid)
-            {
-                StaticGrid2 = grid;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            public Injectee()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public Injectee(SerializationInfo info, StreamingContext context)
-            {
-                // No-op.
-            }
-
-            /** */
-            [InstanceResource]
-            private readonly IIgnite _grid1 = null;
-
-            /** */
-            [InstanceResource]
-            public IIgnite Grid2;
-
-            /** */
-            private IIgnite _mthdGrid1;
-
-            /** */
-            private IIgnite _mthdGrid2;
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            public IIgnite PropGrid1
-            {
-                get;
-                set;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            [InstanceResource]
-            private IIgnite PropGrid2
-            {
-                get;
-                set;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            public void Method1(IIgnite grid)
-            {
-                _mthdGrid1 = grid;
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="grid"></param>
-            [InstanceResource]
-            private void Method2(IIgnite grid)
-            {
-                _mthdGrid2 = grid;
-            }
-
-            /// <summary>
-            /// Check Ignite injections.
-            /// </summary>
-            protected void CheckInjection()
-            {
-                Assert.IsTrue(_staticGrid1 == null);
-                Assert.IsTrue(StaticGrid2 == null);
-
-                Assert.IsTrue(_grid1 != null);
-                Assert.IsTrue(Grid2 == _grid1);
-
-                Assert.IsTrue(PropGrid1 == _grid1);
-                Assert.IsTrue(PropGrid2 == _grid1);
-
-                Assert.IsTrue(_mthdGrid1 == _grid1);
-                Assert.IsTrue(_mthdGrid2 == _grid1);
-            }
-
-            /** <inheritDoc /> */
-            public void GetObjectData(SerializationInfo info, StreamingContext context)
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [ComputeTaskNoResultCache]
-        public class NoResultCacheTask : IComputeTask<int, int, int>
-        {
-            /** Sum. */
-            private int _sum;
-
-            /** <inheritDoc /> */
-            public IDictionary<IComputeJob<int>, IClusterNode> Map(IList<IClusterNode> subgrid, int arg)
-            {
-                return subgrid.ToDictionary(x => (IComputeJob<int>) new NoResultCacheJob(), x => x);
-            }
-
-            /** <inheritDoc /> */
-            public ComputeJobResultPolicy Result(IComputeJobResult<int> res, IList<IComputeJobResult<int>> rcvd)
-            {
-                Assert.IsTrue(rcvd != null);
-                Assert.IsTrue(rcvd.Count == 0);
-
-                _sum += res.Data();
-
-                return ComputeJobResultPolicy.Wait;
-            }
-
-            /** <inheritDoc /> */
-            public int Reduce(IList<IComputeJobResult<int>> results)
-            {
-                Assert.IsTrue(results != null);
-                Assert.IsTrue(results.Count == 0);
-
-                return _sum;
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [Serializable]
-        public class NoResultCacheJob : IComputeJob<int>
-        {
-            /// <summary>
-            ///
-            /// </summary>
-            public NoResultCacheJob()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public NoResultCacheJob(SerializationInfo info, StreamingContext context)
-            {
-                // No-op.
-            }
-
-            /** <inheritDoc /> */
-            public int Execute()
-            {
-                return 1;
-            }
-
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/SerializableClosureTaskTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/SerializableClosureTaskTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/SerializableClosureTaskTest.cs
deleted file mode 100644
index ded56ed..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/SerializableClosureTaskTest.cs
+++ /dev/null
@@ -1,217 +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.Compute
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Compute;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Closure execution tests for serializable objects.
-    /// </summary>
-    public class SerializableClosureTaskTest : ClosureTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public SerializableClosureTaskTest() : base(false) { }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="fork">Fork flag.</param>
-        protected SerializableClosureTaskTest(bool fork) : base(fork) { }
-
-        /** <inheritDoc /> */
-        protected override IComputeFunc<object> OutFunc(bool err)
-        {
-            return new SerializableOutFunc(err);
-        }
-
-        /** <inheritDoc /> */
-        protected override IComputeFunc<object, object> Func(bool err)
-        {
-            return new SerializableFunc(err);
-        }
-
-        /** <inheritDoc /> */
-        protected override void CheckResult(object res)
-        {
-            Assert.IsTrue(res != null);
-
-            SerializableResult res0 = res as SerializableResult;
-
-            Assert.IsTrue(res0 != null);
-            Assert.AreEqual(1, res0.Res);
-        }
-
-        /** <inheritDoc /> */
-        protected override void CheckError(Exception err)
-        {
-            Assert.IsTrue(err != null);
-
-            SerializableException err0 = err as SerializableException;
-
-            Assert.IsTrue(err0 != null);
-            Assert.AreEqual(ErrMsg, err0.Msg);
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [Serializable]
-        private class SerializableOutFunc : IComputeFunc<object>
-        {
-            /** Error. */
-            private bool _err;
-
-            /// <summary>
-            ///
-            /// </summary>
-            public SerializableOutFunc()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="err"></param>
-            public SerializableOutFunc(bool err)
-            {
-                _err = err;
-            }
-
-            /** <inheritDoc /> */
-            public object Invoke()
-            {
-                if (_err)
-                    throw new SerializableException(ErrMsg);
-                return new SerializableResult(1);
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [Serializable]
-        private class SerializableFunc : IComputeFunc<object, object>
-        {
-            /** Error. */
-            private bool _err;
-
-            /// <summary>
-            ///
-            /// </summary>
-            public SerializableFunc()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="err"></param>
-            public SerializableFunc(bool err)
-            {
-                _err = err;
-            }
-
-            /** <inheritDoc /> */
-            public object Invoke(object arg)
-            {
-                Console.WriteLine("INVOKED!");
-
-                if (_err)
-                    throw new SerializableException(ErrMsg);
-                return new SerializableResult(1);
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [Serializable]
-        private class SerializableException : Exception
-        {
-            /** */
-            public string Msg;
-
-            /// <summary>
-            ///
-            /// </summary>
-            public SerializableException()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="msg"></param>
-            public SerializableException(string msg) : this()
-            {
-                Msg = msg;
-            }
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="info"></param>
-            /// <param name="context"></param>
-            public SerializableException(SerializationInfo info, StreamingContext context) : base(info, context)
-            {
-                Msg = info.GetString("msg");
-            }
-
-            /** <inheritDoc /> */
-            public override void GetObjectData(SerializationInfo info, StreamingContext context)
-            {
-                info.AddValue("msg", Msg);
-
-                base.GetObjectData(info, context);
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        [Serializable]
-        private class SerializableResult
-        {
-            public int Res;
-
-            /// <summary>
-            ///
-            /// </summary>
-            public SerializableResult()
-            {
-                // No-op.
-            }
-
-            /// <summary>
-            ///
-            /// </summary>
-            /// <param name="res"></param>
-            public SerializableResult(int res)
-            {
-                Res = res;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcefaa24/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs b/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs
deleted file mode 100644
index f7fb422..0000000
--- a/modules/platform/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs
+++ /dev/null
@@ -1,274 +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.Compute
-{
-    using System;
-    using System.Collections.Generic;
-    using Apache.Ignite.Core.Compute;
-    using Apache.Ignite.Core.Portable;
-    using Apache.Ignite.Core.Resource;
-    using NUnit.Framework;
-
-    /// <summary>
-    /// Test for task and job adapter.
-    /// </summary>
-    public class TaskAdapterTest : AbstractTaskTest
-    {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        public TaskAdapterTest() : base(false) { }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="fork">Fork flag.</param>
-        protected TaskAdapterTest(bool fork) : base(fork) { }
-
-        /// <summary>
-        /// Test for task adapter.
-        /// </summary>
-        [Test]
-        public void TestTaskAdapter()
-        {
-            Assert.AreEqual(3, Grid1.GetCluster().GetNodes().Count);
-
-            HashSet<Guid> allNodes = new HashSet<Guid>(); 
-
-            for (int i = 0; i < 20 && allNodes.Count < 3; i++)
-            {
-                HashSet<Guid> res = Grid1.GetCompute().Execute(new TestSplitTask(), 1);
-
-                Assert.AreEqual(1, res.Count);
-
-                allNodes.UnionWith(res);
-            }
-
-            Assert.AreEqual(3, allNodes.Count);
-
-            HashSet<Guid> res2 = Grid1.GetCompute().Execute<int, Guid, HashSet<Guid>>(typeof(TestSplitTask), 3);
-
-            Assert.IsTrue(res2.Count > 0);
-
-            Grid1.GetCompute().Execute(new TestSplitTask(), 100);
-
-            Assert.AreEqual(3, allNodes.Count);
-        }
-        
-        /// <summary>
-        /// Test for job adapter.
-        /// </summary>
-        [Test]
-        public void TestSerializableJobAdapter()
-        {
-            for (int i = 0; i < 10; i++)
-            {
-                bool res = Grid1.GetCompute().Execute(new TestJobAdapterTask(), true);
-
-                Assert.IsTrue(res);
-            }
-        }
-
-        /// <summary>
-        /// Test for job adapter.
-        /// </summary>
-        [Test]
-        public void TestPortableJobAdapter()
-        {
-            for (int i = 0; i < 10; i++)
-            {
-                bool res = Grid1.GetCompute().Execute(new TestJobAdapterTask(), false);
-
-                Assert.IsTrue(res);
-            }
-        }
-
-        /** <inheritDoc /> */
-        override protected void PortableTypeConfigurations(ICollection<PortableTypeConfiguration> portTypeCfgs)
-        {
-            portTypeCfgs.Add(new PortableTypeConfiguration(typeof(PortableJob)));
-        }
-
-        /// <summary>
-        /// Test task.
-        /// </summary>
-        public class TestSplitTask : ComputeTaskSplitAdapter<int, Guid, HashSet<Guid>>
-        {
-            /** <inheritDoc /> */
-            override protected ICollection<IComputeJob<Guid>> Split(int gridSize, int arg)
-            {
-                Assert.AreEqual(3, gridSize);
-
-                int jobsNum = arg;
-
-                Assert.IsTrue(jobsNum > 0);
-
-                var jobs = new List<IComputeJob<Guid>>(jobsNum);
-
-                for (int i = 0; i < jobsNum; i++)
-                    jobs.Add(new NodeIdJob());
-
-                return jobs;
-            }
-
-            /** <inheritDoc /> */
-            override public HashSet<Guid> Reduce(IList<IComputeJobResult<Guid>> results)
-            {
-                HashSet<Guid> nodes = new HashSet<Guid>();
-
-                foreach (var res in results) {
-                    Guid id = res.Data();
-
-                    Assert.NotNull(id);
-
-                    nodes.Add(id);
-                }
-
-                return nodes;
-            }
-        }
-
-        /// <summary>
-        /// Test task.
-        /// </summary>
-        public class TestJobAdapterTask : ComputeTaskSplitAdapter<bool, bool, bool>
-        {
-            /** <inheritDoc /> */
-            override protected ICollection<IComputeJob<bool>> Split(int gridSize, bool arg)
-            {
-                bool serializable = arg;
-
-                ICollection<IComputeJob<bool>> jobs = new List<IComputeJob<bool>>(1);
-
-                if (serializable)
-                    jobs.Add(new SerializableJob(100, "str"));
-                else
-                    jobs.Add(new PortableJob(100, "str"));
-
-                return jobs;
-            }
-
-            /** <inheritDoc /> */
-            override public bool Reduce(IList<IComputeJobResult<bool>> results)
-            {
-                Assert.AreEqual(1, results.Count);
-
-                Assert.IsTrue(results[0].Data());
-
-                return true;
-            }
-        }
-
-        /// <summary>
-        /// Test job.
-        /// </summary>
-        [Serializable]
-        public class NodeIdJob : IComputeJob<Guid>
-        {
-            [InstanceResource]
-            private IIgnite _grid = null;
-
-            /** <inheritDoc /> */
-            public Guid Execute()
-            {
-                Assert.NotNull(_grid);
-
-                return _grid.GetCluster().GetLocalNode().Id;
-            }
-
-            /** <inheritDoc /> */
-            public void Cancel()
-            {
-                // No-op.
-            }
-        }
-
-        /// <summary>
-        /// Test serializable job.
-        /// </summary>
-        [Serializable]
-        public class SerializableJob : ComputeJobAdapter<bool>
-        {
-            [InstanceResource]
-            private IIgnite _grid = null;
-
-            public SerializableJob(params object[] args) : base(args)
-            { 
-                // No-op.
-            }
-
-            /** <inheritDoc /> */
-            override public bool Execute()
-            {
-                Assert.IsFalse(IsCancelled());
-
-                Cancel();
-
-                Assert.IsTrue(IsCancelled());
-
-                Assert.NotNull(_grid);
-
-                int arg1 = Argument<int>(0);
-
-                Assert.AreEqual(100, arg1);
-
-                string arg2 = Argument<string>(1);
-
-                Assert.AreEqual("str", arg2);
-
-                return true;
-            }
-        }
-
-        /// <summary>
-        /// Test portable job.
-        /// </summary>
-        public class PortableJob : ComputeJobAdapter<bool>
-        {
-            [InstanceResource]
-            private IIgnite _grid = null;
-
-            public PortableJob(params object[] args) : base(args)
-            {
-                // No-op.
-            }
-
-            /** <inheritDoc /> */
-            override public bool Execute()
-            {
-                Assert.IsFalse(IsCancelled());
-
-                Cancel();
-
-                Assert.IsTrue(IsCancelled());
-
-                Assert.NotNull(_grid);
-
-                int arg1 = Argument<int>(0);
-
-                Assert.AreEqual(100, arg1);
-
-                string arg2 = Argument<string>(1);
-
-                Assert.AreEqual("str", arg2);
-
-                return true;
-            }
-        }
-    }
-}