public static IList <Uri> Transform(this IReplicaTransform transform, IList <Uri> replicas)
        {
            var transformed = new Uri[replicas.Count];

            for (var i = 0; i < replicas.Count; i++)
            {
                transformed[i] = transform.Transform(replicas[i]);
            }

            return(transformed);
        }
        public void SetUp()
        {
            replica1 = new Uri("http://replica1");
            replica2 = new Uri("http://replica2");
            replica3 = new Uri("http://replica3");
            replica4 = new Uri("http://replica4");
            replica5 = new Uri("http://replica5");
            replica6 = new Uri("http://replica6");

            baseProvider = Substitute.For <IClusterProvider>();
            baseProvider.GetCluster().Returns(new[] { replica1, replica2, replica3 });

            transform = Substitute.For <IReplicaTransform>();
            transform.Transform(replica1).Returns(replica4);
            transform.Transform(replica2).Returns(replica5);
            transform.Transform(replica3).Returns(replica6);

            provider = new TransformingClusterProvider(baseProvider, transform);
        }
 public TransformingClusterProvider(IClusterProvider provider, IReplicaTransform transform)
 {
     this.provider  = provider;
     this.transform = transform;
 }
Exemple #4
0
 public TransformingClusterProvider(IClusterProvider provider, IReplicaTransform transform)
 {
     this.transform = transform;
     cache          = new CachingTransform <IList <Uri>, IList <Uri> >(ApplyTransform, provider.GetCluster);
 }