public static void TransformFileInFlight(string templateDimCoreName, string SCDType6TemplateDirectory, string OutputDirectory, string DimensionSchema, string templateSchema, string StagingSchema, LineProcessorConfig lineProcessorConfigNK, LineProcessorConfig lineProcessorConfigDim, string file) // public static void TransformFileInFlight(string templateDimCoreName, ParsedArgs parsedArgs, string StagingSchema, LineProcessorConfig lineProcessorConfigNK, LineProcessorConfig lineProcessorConfigDim, string file) { String source = SCDType6TemplateDirectory + file; String destination = OutputDirectory + file.Split('\\')[1].Replace("templateDimCoreName", templateDimCoreName); using (StreamReader reader = new StreamReader(source)) using (StreamWriter writer = new StreamWriter(destination, false, Encoding.UTF8)) { while (!reader.EndOfStream) { string line = reader.ReadLine(); line = line.Replace("templateDimCoreName", templateDimCoreName); line = line.Replace("templateSchema", templateSchema); line = line.Replace("dimensionSchema", DimensionSchema); line = line.Replace("StagingSchema", StagingSchema); if (!line.Contains("/*Sample*/")) { LineProcessor lineProcessorNK = new LineProcessor(line, lineProcessorConfigNK); line = lineProcessorNK.GetLine(); LineProcessor lineProcessorDim = new LineProcessor(line, lineProcessorConfigDim); line = lineProcessorDim.GetLine(); writer.WriteLine(line); } } } }
public void GetLine_Default() { //Arrange String Input = "A String asdf"; String Expected = Input; LineProcessor LineProcessor = new LineProcessor(Input); //Act String Actual = LineProcessor.GetLine(); //Assert Assert.AreEqual(Expected, Actual); }
public void GetLine_IgnoreIfDifferentTag() { //Arrange String Input = "a.SampleString = b.SampleString /*SampleTag|SampleString|AND*/"; String Expected = Input; String Tag = "NonSampleTag"; List <String> perLineSubstitutions = new List <String> { "Test1", "Test2", "Test3" }; LineProcessor LineProcessor = new LineProcessor(Input, Tag, perLineSubstitutions); //Act String Actual = LineProcessor.GetLine(); //Assert Assert.AreEqual(Expected, Actual); }
public void GetLine_ReplaceWithMultipleLines() { //Arrange String Input = "a.SampleString = b.SampleString /*SampleTag|SampleString|AND*/"; String Expected = "a.Test1 = b.Test1" + "\r\nAND a.Test2 = b.Test2" + "\r\nAND a.Test3 = b.Test3" + "\r\n"; String Tag = "SampleTag"; List <String> perLineSubstitutions = new List <String> { "Test1", "Test2", "Test3" }; LineProcessor LineProcessor = new LineProcessor(Input, Tag, perLineSubstitutions); //Act String Actual = LineProcessor.GetLine(); //Assert Assert.AreEqual(Expected, Actual); }