Пример #1
0
        public void ProcessDataPreventsCircularReferences()
        {
            var clientName             = Helpers.CreateSingleValueElement("client_name", "this is #competitor_name#");
            var competitorName         = Helpers.CreateSingleValueElement("competitor_name", "this is #client_name#");
            var benchmark              = Helpers.CreateSingleValueElement("benchmark", new DateTime(2013, 01, 01));
            List <DataElement> dataSet = new List <DataElement> {
                clientName, competitorName, benchmark
            };

            DataElementProcessor.Process(dataSet);
        }
Пример #2
0
        public void ParseAndReplaceKeepsTagWhenElementNotFound()
        {
            var clientName             = Helpers.CreateSingleValueElement("client_name", "Intel");
            var competitorName         = Helpers.CreateSingleValueElement("competitor_name", "AMD");
            var header                 = Helpers.CreateSingleValueElement("header", "#client_name# vs. #main_competitor_name# performance in 2014");
            List <DataElement> dataSet = new List <DataElement> {
                clientName, header, competitorName
            };
            var result = DataElementProcessor.ParseAndReplace((string)header.Rows[0].Data[0], dataSet);

            Assert.AreEqual("Intel vs. #main_competitor_name# performance in 2014", result);
        }
Пример #3
0
        public void ParseAndReplaceReplacesAllOccurencesOfTagWithFormat()
        {
            var clientName             = Helpers.CreateSingleValueElement("client_name", "Intel");
            var competitorName         = Helpers.CreateSingleValueElement("competitor_name", "AMD");
            var benchmark              = Helpers.CreateSingleValueElement("benchmark", new DateTime(2013, 01, 01));
            var header                 = Helpers.CreateSingleValueElement("header", "#client_name# vs. #competitor_name# performance as of #benchmark:{dd MMM yyyy}#");
            List <DataElement> dataSet = new List <DataElement> {
                clientName, header, competitorName, benchmark
            };
            var result = DataElementProcessor.ParseAndReplace((string)header.Rows[0].Data[0], dataSet);

            Assert.AreEqual("Intel vs. AMD performance as of 01 Jan 2013", result);
        }
Пример #4
0
        public void ParseAndReplaceReplacesAllOccurencesOfTagWithIndexes()
        {
            var clientName             = Helpers.CreateSingleValueElement("client_name", "Intel");
            var competitorName         = Helpers.CreateSingleValueElement("competitor_name", "AMD");
            var benchmark              = Helpers.CreateTwoValueElement("benchmark", "GPU Benchmark", 2014);
            var header                 = Helpers.CreateSingleValueElement("header", "#client_name# vs. #competitor_name# performance in #benchmark[1][0]#");
            List <DataElement> dataSet = new List <DataElement> {
                clientName, header, competitorName, benchmark
            };
            var result = DataElementProcessor.ParseAndReplace((string)header.Rows[0].Data[0], dataSet);

            Assert.AreEqual("Intel vs. AMD performance in 2014", result);
        }
Пример #5
0
        public void ProcessDataReplacesDeepReferences()
        {
            var clientName             = Helpers.CreateSingleValueElement("client_name", "IBM #country#");
            var country                = Helpers.CreateSingleValueElement("country", "UK");
            var benchmark              = Helpers.CreateSingleValueElement("benchmark", "benchmark for #client_name#");
            List <DataElement> dataSet = new List <DataElement> {
                clientName, country, benchmark
            };

            DataElementProcessor.Process(dataSet);
            Assert.AreEqual("IBM UK", clientName.Rows[0].Data[0]);
            Assert.AreEqual("UK", country.Rows[0].Data[0]);
            Assert.AreEqual("benchmark for IBM UK", benchmark.Rows[0].Data[0]);
        }
Пример #6
0
 private void ProcessData(Logger logger, IList <DataElement> data)
 {
     //apply data placeholders inside data elements itself
     ReportProgress("Processing data...", 0, data.Count);
     for (int dataIndex = 0; dataIndex < data.Count; dataIndex++)
     {
         try
         {
             ReportProgress("Processing data...", dataIndex + 1, data.Count);
             DataElementProcessor.ProcessDataElement(data[dataIndex], data);
         }
         catch (Exception ex)
         {
             throw new Exception(string.Format("Error while processing data element {0}. See inner exception for details.", data[dataIndex].Name), ex);
         }
     }
 }
Пример #7
0
        public void ProcessReplacesElements()
        {
            var clientName     = Helpers.CreateSingleValueElement("client_name", "Intel");
            var competitorName = Helpers.CreateSingleValueElement("competitor_name", "AMD");
            var header         = Helpers.CreateSingleValueElement("header", "#client_name# vs. #competitor_name# performance as of #benchmark:{dd MMM yyyy}#");
            var benchmark      = Helpers.CreateSingleValueElement("benchmark", new DateTime(2013, 01, 01));
            var da             = Helpers.CreateTestDataElement();

            da.Rows[0].Data[1]   = "#client_name#";
            da.Rows[1].Data[1]   = "#competitor_name#";
            da.Rows[0].Header    = "#client_name#";
            da.Rows[1].Header    = "#competitor_name#";
            da.Columns[1].Header = "#benchmark:{d MMMM yyyy}#";
            da.Columns[0].Data.Clear();
            da.Columns[1].Data.Clear();
            da.Columns[2].Data.Clear();
            da.Normalize();
            List <DataElement> dataSet = new List <DataElement> {
                clientName, da, competitorName, header, benchmark
            };

            DataElementProcessor.Process(dataSet);
            Assert.AreEqual(1.0, da.Columns[0].Data[0]);
            Assert.AreEqual(5.05, da.Columns[0].Data[1]);
            Assert.AreEqual("Intel", da.Columns[1].Data[0]);
            Assert.AreEqual("AMD", da.Columns[1].Data[1]);
            Assert.AreEqual(false, da.Columns[2].Data[0]);
            Assert.AreEqual(true, da.Columns[2].Data[1]);
            Assert.AreEqual("Intel", da.Rows[0].MappedHeader);
            Assert.AreEqual("#client_name#", da.Rows[0].Header);
            Assert.AreEqual("AMD", da.Rows[1].MappedHeader);
            Assert.AreEqual("#competitor_name#", da.Rows[1].Header);
            Assert.AreEqual("1 January 2013", da.Columns[1].MappedHeader);
            Assert.AreEqual("#benchmark:{d MMMM yyyy}#", da.Columns[1].Header);
            Assert.AreEqual("Intel vs. AMD performance as of 01 Jan 2013", header.Rows[0].Data[0]);
        }