public ClassEnvironment(string alternativeSourceFilePath = null, [CallerFilePath] string sourceFilePath = "") { ThisClassesLog = new ClassLog(alternativeSourceFilePath ?? sourceFilePath); MasterEnvironment.AddClassLog( ThisClassesLog); //ensure the database is set up using (var db = new EfTestDbContext()) { if (!db.EfParents.Any()) db.ResetDatabaseContent(); //make sure database is loaded after change to model } }
public ClassLogClassified(ClassLog classLog) { var numTests = classLog.ValidMethodLogs.Count(); if (numTests == 0) return; var numSupportedResults = classLog.ValidMethodLogs.Count(x => x.State == LogStates.Supported); Classification = numTests == numSupportedResults ? ClassClassifications.Supported : numSupportedResults == 0 ? ClassClassifications.NotSupported : ClassClassifications.PartiallySupported; DisplayMarkupNoPrefix = Classification == ClassClassifications.PartiallySupported ? string.Format("{0} ({1} of {2} tests passed)", classLog.TestNameAsMarkupLinkRelativeToDocumentationDir, numSupportedResults, numTests) : string.Format("{0} ({1} tests)", classLog.TestNameAsMarkupLinkRelativeToDocumentationDir, numTests); }
public void TestDetailOneGroupSupported() { //SETUP MasterEnvironment.ResetLogging(); var classLog = new ClassLog(@"TestGroup01UnitTestGroup\Test01MyUnitTest"); MasterEnvironment.AddClassLog(classLog); example2Supported.ForEach(classLog.MethodLogs.Add); //ATTEMPT var markup = MasterEnvironment.ResultsAsMarkup(OutputVersions.Detail); //VERIFY markup.ShouldStartWith("Detail"); markup.ShouldContain("Group: Unit Test Group"); markup.ShouldContain("\n#### [My Unit Test]("); markup.ShouldContain("\n- Supported\n * Good1 (line 1)\n * Good2 (line 2)"); }
public void TestDetailWithSqlOneGroupPartiallySupported() { //SETUP MasterEnvironment.ResetLogging(); var classLog = new ClassLog(@"TestGroup01UnitTestGroup\Test01MyUnitTest"); MasterEnvironment.AddClassLog(classLog); example1PartiallySupported.ForEach(classLog.MethodLogs.Add); //ATTEMPT var markup = MasterEnvironment.ResultsAsMarkup(OutputVersions.DetailWithSql); //VERIFY markup.ShouldStartWith("Detail With Sql"); markup.ShouldContain("Group: Unit Test Group"); markup.ShouldContain("\n#### [My Unit Test]("); markup.ShouldContain("\n- Supported\n * Good (line 1)\n * T-Sql executed is\n\n```SQL"); markup.ShouldContain("\n- **Not Supported**\n * Bad (line 2)"); }
public void TestSummaryOneGroupNotSupported() { //SETUP MasterEnvironment.ResetLogging(); var classLog = new ClassLog(@"TestGroup01UnitTestGroup\Test01MyUnitTest"); MasterEnvironment.AddClassLog(classLog); example3NotSupported.ForEach(classLog.MethodLogs.Add); //ATTEMPT var markup = MasterEnvironment.ResultsAsMarkup(OutputVersions.Summary); //VERIFY markup.ShouldStartWith("Summary"); markup.ShouldContain("Group: Unit Test Group"); markup.ShouldContain("\n- **Not Supported**\n"); markup.ShouldContain( "\n * [My Unit Test](../TestGroup01UnitTestGroup/Test01MyUnitTest) (2 tests)"); }
public static void AddClassLog(ClassLog classLog) { classLog.Order = OrderInc++; _classLogs.Add(classLog); }
public void TestSummaryOneGroupTwoClassesSupported() { //SETUP MasterEnvironment.ResetLogging(); var classLog1 = new ClassLog(@"TestGroup01UnitTestGroup\Test01MyUnitTest1"); MasterEnvironment.AddClassLog(classLog1); example2Supported.ForEach(classLog1.MethodLogs.Add); var classLog2 = new ClassLog(@"TestGroup01UnitTestGroup\Test01MyUnitTest2"); MasterEnvironment.AddClassLog(classLog2); example2Supported.ForEach(classLog2.MethodLogs.Add); //ATTEMPT var markup = MasterEnvironment.ResultsAsMarkup(OutputVersions.Summary); //VERIFY markup.ShouldStartWith("Summary"); markup.ShouldContain("Group: Unit Test Group"); markup.ShouldContain("\n- Supported\n"); markup.ShouldContain("\n * [My Unit Test1]"); markup.ShouldContain("\n * [My Unit Test2]("); }