Exemple #1
0
        public void TestSelectShardForNewObject()
        {
            IList <ShardId> shardIds = new List <ShardId>();
            ShardId         shardId  = new ShardId(1);

            IShardLoadBalancer balancer = Substitute.For <IShardLoadBalancer>();

            balancer.NextShardId.Returns(shardId);

            LoadBalancedShardSelectionStrategy strategy = new LoadBalancedShardSelectionStrategy(balancer);

            Assert.AreEqual(shardId, strategy.SelectShardIdForNewObject(null));
            Assert.AreEqual(shardId, strategy.SelectShardIdForNewObject(null));
        }
        public void TestSelectShardForNewObject()
        {
            IList <ShardId> shardIds = new List <ShardId>();
            ShardId         shardId  = new ShardId(1);

            IShardLoadBalancer balancer = Mock <IShardLoadBalancer>();

            using (Mocks.Record())
            {
                Expect.Call(balancer.NextShardId).Return(shardId);
                Expect.Call(balancer.NextShardId).Return(shardId);
            }

            using (Mocks.Playback())
            {
                LoadBalancedShardSelectionStrategy strategy = new LoadBalancedShardSelectionStrategy(balancer);
                Assert.AreEqual(shardId, strategy.SelectShardIdForNewObject(null));
                Assert.AreEqual(shardId, strategy.SelectShardIdForNewObject(null));
            }
        }
 public LoadBalancedShardSelectionStrategy(IShardLoadBalancer shardLoadBalancer)
 {
     this.shardLoadBalancer = shardLoadBalancer;
 }
 public LoadBalancedShardSelectionStrategy(IShardLoadBalancer shardLoadBalancer)
 {
     this.shardLoadBalancer = shardLoadBalancer;
 }