public void transforms_compound_tokens() { var transformer = new CompoundStreamTransformer(new [] { new TokenStreamTransformer("i", "u"), new TokenStreamTransformer("F", "B") }); var result = transformer.Transform("Fizz".ToStream()).ReadAsString(); Assert.Equal("Buzz", result); }
protected virtual IEnumerable <Operation> BuildOperations(OperationStep step, ScaffoldOperationConfiguration configuration, SourcingContext context) { var source = step.GetSource(configuration); var sourcingResults = source.Generate(context); foreach (var result in sourcingResults) { var destinationFilename = result.FileName; var destinationFilepath = result.FilePath; var streamTransformers = new List <IStreamTransformer>(); foreach (var transformer in configuration.GlobalTransformers.Union(step.GetTransformers())) { destinationFilepath = transformer.TransformFilename(destinationFilepath); destinationFilename = transformer.TransformFilename(destinationFilename); streamTransformers.Add(transformer.CreateStreamTransformer()); } var actualTransformer = new CompoundStreamTransformer(streamTransformers); var persistenceContext = new PersistenceContext() { FilePath = destinationFilepath, Filename = destinationFilename, TargetDirectory = context.TargetRoot }; foreach (var emitter in step.GetEmitters()) { foreach (var actualEmitter in emitter.CreatePersisters(persistenceContext)) { yield return(new Operation(result.Provider, actualTransformer, actualEmitter)); } } } }