public void When_BucketConfig_Has_Replicas_VBucketKeyMapper_Replicas_Are_Equal()
        {
            var json = File.ReadAllText(@"Data\\Configuration\\config-with-replicas-complete.json");
            var bucketConfig = JsonConvert.DeserializeObject<BucketConfig>(json);
            var servers = bucketConfig.VBucketServerMap.
               ServerList.
               Select(server => new Server(ObjectFactory.CreateIOStrategy(server), new Node(), new ClientConfiguration())).
               Cast<IServer>().
               ToList();

            var mapper = new VBucketKeyMapper(servers, bucketConfig.VBucketServerMap);
            var vBucket = (IVBucket)mapper.MapKey("somekey");

            var index = mapper.GetIndex("somekey");
            var expected = bucketConfig.VBucketServerMap.VBucketMap[index];
            for (var i = 0; i < vBucket.Replicas.Length; i++)
            {
                Assert.AreEqual(vBucket.Replicas[i], expected[i+1]);
            }
        }
        public void When_BucketConfig_Has_Replicas_VBucketKeyMapper_Replicas_Are_Equal()
        {
            var json = File.ReadAllText(@"Data\\Configuration\\config-with-replicas-complete.json");
            var bucketConfig = JsonConvert.DeserializeObject<BucketConfig>(json);

            var servers = new Dictionary<IPAddress, IServer>();
            foreach (var node in bucketConfig.GetNodes())
            {
                servers.Add(node.GetIPAddress(),
                    new Server(new FakeIOStrategy(node.GetIPEndPoint(), new FakeConnectionPool(), false),
                        node,
                        new ClientConfiguration(), bucketConfig,
                        new FakeTranscoder()));
            }

            var mapper = new VBucketKeyMapper(servers, bucketConfig.VBucketServerMap, bucketConfig.Rev);
            var vBucket = (IVBucket)mapper.MapKey("somekey");

            var index = mapper.GetIndex("somekey");
            var expected = bucketConfig.VBucketServerMap.VBucketMap[index];
            for (var i = 0; i < vBucket.Replicas.Length; i++)
            {
                Assert.AreEqual(vBucket.Replicas[i], expected[i+1]);
            }
        }