public void TestNullShard()
 {
     FirstNonNullResultExitStrategy<object> fnnres = new FirstNonNullResultExitStrategy<object>();
     try
     {
         fnnres.AddResult(null, null);
         Assert.Fail("expected npe");
     }
     catch (NullReferenceException npe)
     {
         // good
     }
 }
Exemple #2
0
        public Object UniqueResult()
        {
            // build a shard operation and apply it across all shards
            IShardOperation <object> shardOp      = new UniqueResultShardOperation <object>(this);
            IExitStrategy <object>   exitStrategy = new FirstNonNullResultExitStrategy <object>();

            /**
             * We don't support shard selection for criteria queries.  If you want
             * custom shards, create a ShardedSession with only the shards you want.
             * We're going to return the first non-null result we get from a shard.
             */
            return(this.shardAccessStrategy.Apply(this.shards, shardOp, exitStrategy, this.criteriaCollector));
        }
Exemple #3
0
        public void TestNullShard()
        {
            FirstNonNullResultExitStrategy <object> fnnres = new FirstNonNullResultExitStrategy <object>();

            try
            {
                fnnres.AddResult(null, null);
                Assert.Fail("expected npe");
            }
            catch (NullReferenceException npe)
            {
                // good
            }
        }
        public void TestAddResult()
        {
            FirstNonNullResultExitStrategy<object> fnnres = new FirstNonNullResultExitStrategy<object>();
            IShard shard1 = Mock<IShard>();

            fnnres.AddResult(null, shard1);
            Assert.IsNull(fnnres.CompileResults(null));
            //Assert.IsNull(fnnres.GetShardOfResult());

            Object result = new Object();
            IShard shard2 = Mock<IShard>();
            fnnres.AddResult(result, shard2);
            Assert.AreSame(result, fnnres.CompileResults(null));
            //Assert.AreSame(shard2, fnnres.getShardOfResult());

            Object anotherResult = new Object();
            IShard shard3 = Mock<IShard>();
            fnnres.AddResult(anotherResult, shard3);
            Assert.AreSame(result, fnnres.CompileResults(null));
            //Assert.AreSame(shard2, fnnres.?)getShardOfResult());
        }
Exemple #5
0
        public void TestAddResult()
        {
            FirstNonNullResultExitStrategy <object> fnnres = new FirstNonNullResultExitStrategy <object>();
            IShard shard1 = Mock <IShard>();

            fnnres.AddResult(null, shard1);
            Assert.IsNull(fnnres.CompileResults(null));
            //Assert.IsNull(fnnres.GetShardOfResult());

            Object result = new Object();
            IShard shard2 = Mock <IShard>();

            fnnres.AddResult(result, shard2);
            Assert.AreSame(result, fnnres.CompileResults(null));
            //Assert.AreSame(shard2, fnnres.getShardOfResult());

            Object anotherResult = new Object();
            IShard shard3        = Mock <IShard>();

            fnnres.AddResult(anotherResult, shard3);
            Assert.AreSame(result, fnnres.CompileResults(null));
            //Assert.AreSame(shard2, fnnres.?)getShardOfResult());
        }