Пример #1
0
        static void Main(string[] args)
        {
            // Variables
            var outputFilePath = @"C:\Users\preston-smithm\Documents\..Digital\Projects\Testing\Data Protection\Automated Testing\script\csv from ftp\201509220018-Geni-SitecoreDB-Constituent-001.csv";
            var macroInputDirectory = @"C:\Users\preston-smithm\Documents\..Digital\Projects\Testing\Data Protection\Automated Testing\script\macro output";

            // Grab Array of output report from CSV
            var outputdataTable = Helpers.GetDataTableFromCsvPath(outputFilePath);

            // Grab input array
            var inputDataTable = Helpers.BuildDataTableFromListOfFilenames(Helpers.GetFileNamesFromFilepath(macroInputDirectory));

            // Foreach item in the output array, cross-reference the email addresss and ensure that the matrix is complete
            var comparer = new TestComparer(outputdataTable, inputDataTable);
            comparer.RunComparison();
        }
Пример #2
0
        public void IsValidationFailingWhenItShould()
        {
            // Variables

            // output datatable
                var outputDataTable = new DataTable("output");
            outputDataTable.Columns.Add("EmailAddress", typeof(string));
            outputDataTable.Columns.Add(new DataColumn { ColumnName = "DataProtectionStatementCode1", DataType = typeof(string) });
            outputDataTable.Columns.Add(new DataColumn { ColumnName = "DataProtectionStatementCode2", DataType = typeof(string) });
            outputDataTable.Columns.Add(new DataColumn { ColumnName = "DataProtectionStatementCode3", DataType = typeof(string) });
            outputDataTable.Columns.Add(new DataColumn { ColumnName = "DataProtectionStatementCode4", DataType = typeof(string) });
            outputDataTable.Columns.Add(new DataColumn { ColumnName = "DataProtectionStatementCode5", DataType = typeof(string) });

            DataRow newRow = outputDataTable.NewRow();
            newRow["EmailAddress"] = "*****@*****.**";
            newRow["DataProtectionStatementCode1"] = "ContactByPost";
            newRow["DataProtectionStatementCode2"] = "ContactByPhone";
            newRow["DataProtectionStatementCode3"] = "NoContactByEmail";
            newRow["DataProtectionStatementCode4"] = "ContactByThirdParty";
            newRow["DataProtectionStatementCode5"] = "NoContactByText";
            outputDataTable.Rows.Add(newRow);

            // input data table
            var inputDataTable = new DataTable("input");
            inputDataTable.Columns.Add(new DataColumn { ColumnName = "Email", DataType = typeof(string) });
            inputDataTable.Columns.Add(new DataColumn { ColumnName = "one", DataType = typeof(string) });
            inputDataTable.Columns.Add(new DataColumn { ColumnName = "two", DataType = typeof(string) });
            inputDataTable.Columns.Add(new DataColumn { ColumnName = "three", DataType = typeof(string) });
            inputDataTable.Columns.Add(new DataColumn { ColumnName = "four", DataType = typeof(string) });
            inputDataTable.Columns.Add(new DataColumn { ColumnName = "five", DataType = typeof(string) });
            newRow = inputDataTable.NewRow();
            newRow["Email"] = "*****@*****.**";
            newRow["two"] = "TAG POS = 1 TYPE = INPUT:CHECKBOX FORM = ID:frmMain ATTR = ID:main_0_pagecontent_0_form_E02D05D39F1649C4A29450649B2AAFBF_field_8F931E2FCE2D4FAAA9573A95D44B3B0Dlist_0 CONTENT = YES";
            newRow["three"] = "TAG POS = 1 TYPE = INPUT:CHECKBOX FORM = ID:frmMain ATTR = ID:main_0_pagecontent_0_form_E02D05D39F1649C4A29450649B2AAFBF_field_8F931E2FCE2D4FAAA9573A95D44B3B0Dlist_2 CONTENT = YES";
            newRow["four"] = "";
            newRow["five"] = "";
            inputDataTable.Rows.Add(newRow);

            // output headers (THESE CAN BE GRABBED FROM THE FILE 
            var outputheaders = new List<string>();
            outputheaders.Add("EmailAddress");
            outputheaders.Add("DataProtectionStatementCode1");
            outputheaders.Add("DataProtectionStatementCode2");
            outputheaders.Add("DataProtectionStatementCode3");
            outputheaders.Add("DataProtectionStatementCode4");
            outputheaders.Add("DataProtectionStatementCode5");

            var inputHeaders = new List<string>();
            inputHeaders.Add("email");
            inputHeaders.Add("one");
            inputHeaders.Add("two");
            inputHeaders.Add("three");
            inputHeaders.Add("four");
            inputHeaders.Add("five");


            var validators = new List<Validator>();
            // 'validators' are conditions that should not be, with the key being the expected output value, and the Value  being the expected input
            validators.Add(new Validator("NoContactByText", "TAG POS = 1 TYPE = INPUT:CHECKBOX FORM = ID:frmMain ATTR = ID:main_0_pagecontent_0_form_E02D05D39F1649C4A29450649B2AAFBF_field_8F931E2FCE2D4FAAA9573A95D44B3B0Dlist_2 CONTENT = YES"));
            validators.Add(new Validator("ContactByPost", "TAG POS = 1 TYPE = INPUT:CHECKBOX FORM = ID:frmMain ATTR = ID:main_0_pagecontent_0_form_E02D05D39F1649C4A29450649B2AAFBF_field_8F931E2FCE2D4FAAA9573A95D44B3B0Dlist_3 CONTENT = YES"));
            validators.Add(new Validator("ContactByPhone", "TAG POS = 1 TYPE = INPUT:CHECKBOX FORM = ID:frmMain ATTR = ID:main_0_pagecontent_0_form_E02D05D39F1649C4A29450649B2AAFBF_field_8F931E2FCE2D4FAAA9573A95D44B3B0Dlist_1 CONTENT = YES"));
            validators.Add(new Validator("NoContactByEmail", "TAG POS = 1 TYPE = INPUT:CHECKBOX FORM = ID:frmMain ATTR = ID:main_0_pagecontent_0_form_E02D05D39F1649C4A29450649B2AAFBF_field_8F931E2FCE2D4FAAA9573A95D44B3B0Dlist_0 CONTENT = YES"));
            validators.Add(new Validator("ContactByThirdParty", "TAG POS = 1 TYPE = INPUT:CHECKBOX FORM = ID:frmMain ATTR = ID:main_0_pagecontent_0_form_E02D05D39F1649C4A29450649B2AAFBF_field_8F931E2FCE2D4FAAA9573A95D44B3B0Dlist_4 CONTENT = YES"));

            TestType test = new TestType(outputDataTable, inputDataTable, outputheaders, inputHeaders, validators);

            var classUnderTest = new TestComparer(test);
            var result = classUnderTest.RunComparison();
            Assert.AreEqual(result, false);
        }