resgroup/customer-tests-excel

View on GitHub
CustomerTestsExcel/CodeOutputWriters/ITestOutputWriter.cs

Summary

Maintainability
B
4 hrs
Test Coverage
using CustomerTestsExcel.Assertions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CustomerTestsExcel.CodeOutputWriters
{
    public interface ITestOutputWriter
    {
        void Exception(string exception);

        void StartSpecification(string specificationNamespace, string specificationName, string specificationDescription);

        void StartGiven();

        // should probably add "Given" to these names so that they all follow the same convention
        void StartClass(string className);
        void StartSubClass(string className);
        void EndSubClass();
        void EndClass();

        void StartClassTable(string propertyName, string className);
        void ClassTablePropertyNamesHeaderRow(IEnumerable<string> propertyNames);
        void ClassTablePropertyRow(IEnumerable<ReportSpecificationSetupProperty> cells);
        void EndClassTable();

        void StartGivenListProperty(ReportSpecificationSetupList list);
        void StartGivenListPropertyItem(IReportsSpecificationSetup listItem);
        void EndGivenListPropertyItem(IReportsSpecificationSetup listItem);
        void EndGivenListProperty(ReportSpecificationSetupList list);

        void StartGivenProperties();
        void EndGivenProperties();

        void GivenProperty(ReportSpecificationSetupProperty property);

        void GivenClassProperty(string propertyName, bool isNull);

        void EndGiven();

        void When(string actionName);

        void Assert(
            string assertPropertyName,
            object assertPropertyExpectedValue,
            AssertionOperator assertionOperator,
            object assertPropertyActualValue,
            bool passed,
            IEnumerable<string> assertionSpecifics);

        void CodeValueDoesNotMatchExcelFormula(string assertPropertyName, string excelValue, string csharpValue);

        void EndSpecification(string specificationNamespace, bool passed);

        void StartAssertions();

        void EndAssertions();

        void StartAssertionSubProperties(string assertPropertyName, bool exists, string cSharpClassName, bool passed);

        void EndAssertionSubProperties();

    }
}