protected void 运行测试用例 <TTestCase>() where TTestCase : TestCase, new() { var testCase = new TTestCase(); testCase.Run(); _casesRunned.Add(typeof(TTestCase)); }
private void RunTest <TParsedData, TTestCase>() where TTestCase : ITestCase <TParsedData>, new() where TParsedData : ParsedData { var testCase = new TTestCase(); var parser = testCase.CreateParser(); var span = testCase.Input.ToSnapshotSpan(); var parsed = parser.TryParse(span, out var actualResult); if (testCase.ExpectedResult == null) { parsed.Should().BeFalse(); } else { parsed.Should().BeTrue(); } actualResult.Should().BeEquivalentTo(testCase.ExpectedResult); }