Example #1
0
        private static string GetFailMessage(IComparerResult comparerResult)
        {
            UnitTestWriter unitTestWriter = new UnitTestWriter();

            GetFailMessageElements(comparerResult).Write(unitTestWriter);
            return(unitTestWriter.GetTextAsString());
        }
Example #2
0
 public ApiTestData(IComparerResult comparerResult, string category, bool @explicit, bool handleWarningsAsErrors)
 {
     ComparerResult         = comparerResult;
     Category               = category;
     Explicit               = @explicit;
     HandleWarningsAsErrors = handleWarningsAsErrors;
 }
Example #3
0
 public ApiTestData(IComparerResult comparerResult, string category, IList <string> ignoreList, bool @explicit)
 {
     _comparerResult = comparerResult;
     _category       = category;
     _ignoreList     = ignoreList;
     _explicit       = @explicit;
 }
Example #4
0
 protected ComparerBase(T referenceType, T newType, IComparerContext comparerContext, ResultContext resultContext, string name)
 {
     _referenceType   = referenceType;
     _newType         = newType;
     _comparerContext = comparerContext;
     _comparerResult  = _comparerContext.CreateComparerResult(resultContext, name);
 }
Example #5
0
 public static XElement GenerateXml(IComparerResult comparerResult)
 {
     if (comparerResult == null)
     {
         throw new ArgumentNullException("comparerResult");
     }
     return(new XElement(Root, GenerateXElement(comparerResult)));
 }
            public Builder(Assembly referenceAssembly, Assembly newAssembly)
            {
                Mock <IComparerContext> comparerContextMock = new Mock <IComparerContext> {
                    DefaultValue = DefaultValue.Mock
                };

                MockSetup.SetupMock(comparerContextMock);
                _comparerResult = new AssemblyComparer(referenceAssembly, newAssembly, comparerContextMock.Object).Compare();
            }
Example #7
0
 private static Element GetFailMessageElements(IComparerResult comparerResult)
 {
     Element element = new Element(string.Format("{0} {1}", comparerResult.ResultContext, comparerResult.Name));
       element.Add("Added Elements:", comparerResult.AddedItems.Select(added => string.Format("{0} -- {1}", added.ItemName, added.ResultContext)));
       element.Add("Removed Elements:", comparerResult.RemovedItems.Select(removed => string.Format("{0} -- {1}", removed.ItemName, removed.ResultContext)));
       element.Add("Changed Flags:", comparerResult.ChangedFlags.Select(changed => string.Format("{0} from {1} to {2}", changed.PropertyName, changed.ReferenceValue, changed.NewValue)));
       element.Add("Changed Attributes:", comparerResult.ChangedProperties.Select(changed => string.Format("{0} from {1} to {2}", changed.PropertyName, changed.ReferenceValue, changed.NewValue)));
       element.Add("Changed Children:", comparerResult.ComparerResults.Select(GetFailMessageElements));
       return element.HasElements ? element : null;
 }
Example #8
0
        private static string GetFailMessage(IComparerResult comparerResult)
        {
            UnitTestWriter unitTestWriter      = new UnitTestWriter();
            Element        failMessageElements = GetFailMessageElements(comparerResult);

            if (failMessageElements != null)
            {
                failMessageElements.Write(unitTestWriter);
            }
            return(unitTestWriter.GetTextAsString());
        }
Example #9
0
        private static Element GetFailMessageElements(IComparerResult comparerResult)
        {
            Element element = new Element(string.Format("{0} {1}", comparerResult.ResultContext, comparerResult.Name));

            element.Add("Added Elements:", comparerResult.AddedItems.Select(added => string.Format("{0} -- {1}", added.ItemName, added.ResultContext)));
            element.Add("Removed Elements:", comparerResult.RemovedItems.Select(removed => string.Format("{0} -- {1}", removed.ItemName, removed.ResultContext)));
            element.Add("Changed Flags:", comparerResult.ChangedFlags.Select(changed => string.Format("{0} from {1} to {2}", changed.PropertyName, changed.ReferenceValue, changed.NewValue)));
            element.Add("Changed Attributes:", comparerResult.ChangedProperties.Select(changed => string.Format("{0} from {1} to {2}", changed.PropertyName, changed.ReferenceValue, changed.NewValue)));
            element.Add("Changed Children:", comparerResult.ComparerResults.Select(GetFailMessageElements));
            return(element.HasElements ? element : null);
        }
Example #10
0
        private static ITestCaseData GenerateTestCase(ApiTestData apiTestData)
        {
            IComparerResult comparerResult = apiTestData.ComparerResult;
            bool            fail           = Fail(apiTestData, comparerResult);
            TestCaseData    testCaseData   = new TestCaseData(!fail, GetFailMessage(comparerResult)).SetName(comparerResult.Name).SetCategory(apiTestData.Category);

            if (apiTestData.Explicit)
            {
                testCaseData.MakeExplicit("Set explicit by ApiTestAttribute");
            }
            return(testCaseData);
        }
Example #11
0
        private static XElement GenerateXElement(IComparerResult comparerResult)
        {
            XElement element = new XElement(ChangedElement);

            element.Add(new XAttribute(Name, comparerResult.Name));
            element.Add(new XAttribute(Context, comparerResult.ResultContext.ToString()));
            element.Add(comparerResult.ChangedFlags.Select(changed => new XElement(ChangedAttribute, GenerateXAttribute(changed))));
            element.Add(comparerResult.ChangedProperties.Select(changed => new XElement(ChangedAttribute, GenerateXAttribute(changed))));
            element.Add(comparerResult.AddedItems.Select(added => new XElement(AddedElement, GenerateXAttribute(added))));
            element.Add(comparerResult.RemovedItems.Select(removed => new XElement(RemovedElement, GenerateXAttribute(removed))));
            element.Add(comparerResult.ComparerResults.Select(GenerateXElement));
            return(element.HasElements ? element : null);
        }
Example #12
0
        private static ITestCaseData GenerateTestCase(ApiTestData apiTestData)
        {
            IComparerResult comparerResult = apiTestData.ComparerResult;
            bool            fail           = comparerResult.GetAllCount(Severity.Error) + comparerResult.GetAllCount(Severity.Warning) > 0;
            TestCaseData    testCaseData   = new TestCaseData(!fail, fail ? GetFailMessage(comparerResult) : "").SetName(comparerResult.Name).SetCategory(apiTestData.Category);

            if (apiTestData.IgnoreList.Contains(comparerResult.Name))
            {
                testCaseData.Ignore();
            }
            if (apiTestData.Explicit)
            {
                testCaseData.MakeExplicit("");
            }
            return(testCaseData);
        }
Example #13
0
        private static Element GetFailMessageElements(IComparerResult comparerResult)
        {
            Element element = new Element(string.Format("{0} {1}", comparerResult.ResultContext, comparerResult.Name));

            element.Add("Added Elements:", comparerResult.AddedItems.Select(added => string.Format("{0} -- {1} ({2})", added.ItemName, added.ResultContext, added.Severity)));
            element.Add("Removed Elements:", comparerResult.RemovedItems.Select(removed => string.Format("{0} -- {1} ({2})", removed.ItemName, removed.ResultContext, removed.Severity)));
            element.Add("Changed Flags:", comparerResult.ChangedFlags.Select(changed => string.Format("{0} from {1} to {2} ({3})", changed.PropertyName, changed.ReferenceValue, changed.NewValue, changed.Severity)));
            element.Add("Changed Attributes:", comparerResult.ChangedProperties.Select(changed => string.Format("{0} from {1} to {2} ({3})", changed.PropertyName, changed.ReferenceValue, changed.NewValue, changed.Severity)));

            // Do not list child elements for assemblies because all of the children will be placed in a separate test
            if (comparerResult.ResultContext != ResultContext.Assembly)
            {
                element.Add("Changed Children:", comparerResult.ComparerResults.Select(GetFailMessageElements));
            }
            return(element.HasElements ? element : null);
        }
Example #14
0
        /// <summary> Compares the versions of the API and generates the desired reports. </summary>
        /// <returns> The amount of errors and warnings found. </returns>
        public int CheckApi()
        {
            // Comparing
              _comparerContext.LogInfo("Comparing assemblies.");
              ComparerResult = _comparerContext.CreateComparer(_referenceVersion, _newVersion).Compare();

              // Reporting
              _comparerContext.LogInfo("Generating xml result.");
              XElement element = XmlGenerator.GenerateXml(ComparerResult);
              if (_xmlOutput != null)
              {
            _comparerContext.LogInfo("Exporting xml report.");
            element.Save(_xmlOutput);
              }
              if (_htmlOutput != null)
              {
            _comparerContext.LogInfo("Exporting html report.");
            XmlTransformer.TransformToHtml(element.CreateReader(), _htmlOutput);
              }
              return ComparerResult.GetAllCount(Severity.Error) + ComparerResult.GetAllCount(Severity.Warning);
        }
Example #15
0
        /// <summary> Compares the assemblies and generates the desired reports. </summary>
        /// <returns> The amount of errors and warnings found. </returns>
        public int CheckApi()
        {
            // Comparing
            _comparerContext.LogInfo("Comparing assemblies.");
            _comparerResult = _comparerContext.CreateComparer(_referenceVersion, _newVersion).Compare();

            // Reporting
            _comparerContext.LogInfo("Generating xml result.");
            XElement element = XmlGenerator.GenerateXml(_comparerResult);

            if (_xmlOutput != null)
            {
                _comparerContext.LogInfo("Exporting xml report.");
                element.Save(_xmlOutput);
            }
            if (_htmlOutput != null)
            {
                _comparerContext.LogInfo("Exporting html report.");
                XmlTransformer.TransformToHtml(element.CreateReader(), _htmlOutput);
            }
            return(_comparerResult.GetAllCount(Severity.Error) + _comparerResult.GetAllCount(Severity.Warning));
        }
Example #16
0
 public void AddComparerResult(IComparerResult comparerResult)
 {
     _comparerResults.Add(comparerResult);
 }
Example #17
0
 private static string GetFailMessage(IComparerResult comparerResult)
 {
     UnitTestWriter unitTestWriter = new UnitTestWriter();
       GetFailMessageElements(comparerResult).Write(unitTestWriter);
       return unitTestWriter.GetTextAsString();
 }
Example #18
0
 public ApiTestData(IComparerResult comparerResult, string category, IList<string> ignoreList, bool @explicit)
 {
     _comparerResult = comparerResult;
     _category = category;
     _ignoreList = ignoreList;
     _explicit = @explicit;
 }
 public Builder(Assembly assembly1, Assembly assembly2, IList<string> list)
 {
     _comparerResult = new AssemblyComparer(assembly1, assembly2, new ComparerContext(s => { }, s => { }, list)).Compare();
 }
Example #20
0
        private static bool Fail(ApiTestData apiTestData, IComparerResult comparerResult)
        {
            bool ignoreChildren = apiTestData.ComparerResult.ResultContext == ResultContext.Assembly;

            return(comparerResult.GetAllCount(Severity.Error, ignoreChildren) > 0 || apiTestData.HandleWarningsAsErrors && comparerResult.GetAllCount(Severity.Warning, ignoreChildren) > 0);
        }
Example #21
0
 public Builder(Assembly assembly1, Assembly assembly2, IList <string> list)
 {
     _comparerResult = new AssemblyComparer(assembly1, assembly2, new ComparerContext(s => { }, s => { }, list)).Compare();
 }
 public Builder(Assembly referenceAssembly, Assembly newAssembly)
 {
     Mock<IComparerContext> comparerContextMock = new Mock<IComparerContext> { DefaultValue = DefaultValue.Mock };
     MockSetup.SetupMock(comparerContextMock);
     _comparerResult = new AssemblyComparer(referenceAssembly, newAssembly, comparerContextMock.Object).Compare();
 }
Example #23
0
 public void AddComparerResult(IComparerResult comparerResult)
 {
     _comparerResults.Add(comparerResult);
 }