public async void ShouldHaveKarmaSpec(SpecTestCase testCase) { Console.WriteLine(testCase.Spec.Format()); var karmaSpec = await testCase.GetKarmaSpec(); Console.WriteLine(karmaSpec.Format()); Assert.That(karmaSpec, Is.Not.Null, "Karma spec missing"); }
private static void SpecTestCaseTests(SpecTestCase testCase, bool isPartial) { var uriTemplate = UriTemplate.For(testCase.Template); foreach (var variable in testCase.Variables) { uriTemplate.WithParameter(variable.Key, variable.Value); } switch (testCase) { case SpecFailTestCase x: ShouldFail(uriTemplate, isPartial); break; case SpecListTestCase x: ShouldMatchOne(uriTemplate, x, isPartial); break; case SpecStringTestCase x: ShouldMatch(uriTemplate, x, isPartial); break; default: break; } }
public async void ShouldHaveLineNumber(SpecTestCase testCase) { Console.WriteLine(testCase.Spec.Format()); var karmaSpec = await testCase.GetKarmaSpec(); Console.WriteLine(karmaSpec.Format()); Assert.That(karmaSpec, Is.Not.Null, "Karma spec missing"); Assert.That(karmaSpec.Source, Is.Not.Null, "Source missing"); Assert.That(karmaSpec.Source.LineNumber, new BetweenConstraint(testCase.Spec.LineNumberFrom, testCase.Spec.LineNumberTo), "Line number"); }
public async void ShouldFail(SpecTestCase testCase) { Console.WriteLine(testCase.Spec.Format()); var karmaSpec = await testCase.GetKarmaSpec(); Console.WriteLine(karmaSpec.Format()); Assert.That(karmaSpec, Is.Not.Null, "Karma spec missing"); Assert.That(karmaSpec.Results, Is.Not.Null, "Karma spec results missing"); Assert.That(karmaSpec.Results.All(r => !r.Success), "Some results did not fail"); }
public async void ShouldHaveFileName(SpecTestCase testCase) { Console.WriteLine(testCase.Spec.Format()); var karmaSpec = await testCase.GetKarmaSpec(); Console.WriteLine(karmaSpec.Format()); Assert.That(karmaSpec, Is.Not.Null, "Karma spec missing"); Assert.That(karmaSpec.Source, Is.Not.Null, "Source missing"); Assert.That(karmaSpec.Source.FileName, Is.SamePath(testCase.Spec.FileName)); }
public async void ShouldHaveOutput(SpecTestCase testCase) { Console.WriteLine(testCase.Spec.Format()); var karmaSpec = await testCase.GetKarmaSpec(); Console.WriteLine(karmaSpec.Format()); Assert.That(karmaSpec, Is.Not.Null, "Karma spec missing"); Assert.That(karmaSpec.Results, Is.Not.Null, "Karma spec results missing"); foreach (var result in karmaSpec.Results) { Assert.That(result.Output, Is.StringMatching(testCase.Spec.Output), "Output incorrect for {0}", result.Name); } }
public async void ShouldHaveStackTrace(SpecTestCase testCase) { Console.WriteLine(testCase.Spec.Format()); var karmaSpec = await testCase.GetKarmaSpec(); Console.WriteLine(karmaSpec.Format()); Assert.That(karmaSpec, Is.Not.Null, "Karma spec missing"); Assert.That(karmaSpec.Results, Is.Not.Null, "Karma spec results missing"); foreach (var result in karmaSpec.Results) { string actualStack = null; if (result.Failures != null && result.Failures.Any()) { actualStack = string.Join(Environment.NewLine, result.Failures.First().stack.Take(testCase.Spec.Stack.Count())); } Assert.That(actualStack, Is.EqualTo(testCase.Spec.StackTrace), "Stack trace incorrect for {0}", result.Name); } }
public void PartialRunTests(SpecTestCase testCase) { SpecTestCaseTests(testCase, true); }
public void RunTests(SpecTestCase testCase) { SpecTestCaseTests(testCase, false); }
public void SpecShouldBeValid(SpecTestCase testCase) { Console.WriteLine(testCase.Spec.Format()); Assert.That(testCase.IsValid, testCase.InvalidReason); }