Ejemplo n.º 1
0
        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);
        }