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; }