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; }
public TransformingClusterProvider(IClusterProvider provider, IReplicaTransform transform) { this.transform = transform; cache = new CachingTransform <IList <Uri>, IList <Uri> >(ApplyTransform, provider.GetCluster); }