public void TwoErrors_Should_ThrowTwoExceptions() { var exception = Assert.Throws <ParserExceptionList>(() => CsvGradeCaseGenerator.ConvertTextToGradeCases(@"""test """" test2 """, @"""test """" test2 """)); exception.Exceptions.Should().HaveCount(2); }
public void LongestWord_Should_Pass() { var results = CsvGradeCaseGenerator.ConvertToGradeCases(new[] { "method", "something", "love", "time" }, new[] { "test method", "super long something", "I love dogs", "fun& time" }); results.Should().HaveCount(4); }
public void ExceptionSyntax_Should_SetException(string input, string outputstr, bool isException, string msg) { var result = CsvGradeCaseGenerator.ConvertTextToGradeCases(input, outputstr); var output = result.Single().ExpectedOutputs.Single(); output.Exception.Should().Be(isException); output.ValueToMatch.Should().Be(msg); }
public void HintSyntax_Should_NotChangeContent() { var result = CsvGradeCaseGenerator.ConvertToGradeCases(new[] { "1[did you handle one?],2[did you handle two?]" }, new[] { "1,2" }); result.Should().HaveCount(1); result[0].ExpectedOutputs.Should().HaveCount(2); result[0].ExpectedOutputs.Select(p => p.Hint.Should().NotBeNullOrEmpty()).ToList(); result[0].ExpectedOutputs.Select(p => int.TryParse(p, out var t).Should().BeTrue()).ToList(); }
public void NegationSyntax_Should_NotChangeContent() { var result = CsvGradeCaseGenerator.ConvertToGradeCases(new[] { "!1,!2" }, new[] { "1,2" }); result.Should().HaveCount(1); result[0].ExpectedOutputs.Should().HaveCount(2); result[0].ExpectedOutputs.All(p => p.Negate).Should().BeTrue(); result[0].ExpectedOutputs.All(p => int.TryParse(p, out var t)).Should().BeTrue(); }
public async Task Exception_Should_Do(string input, string output, bool pass, string message, string sourceCode) { var cases = CsvGradeCaseGenerator.ConvertTextToGradeCases(input, output); var results = await consoleAppGrader.Grade(sourceCode, cases); var caseResult = results.CaseResults.Single(); caseResult.Pass.Should().Be(pass); caseResult.ErrorMessage.Should().Be(message); }
public async Task JsonConvertTest() { references.Add(typeof(JsonConvert).Assembly.Location); var cases = CsvGradeCaseGenerator.ConvertTextToGradeCases("", ""); var results = await consoleAppGrader.Grade(SourceCodeStrings.JsonConvertSource, cases, references); var caseResult = results.CaseResults.Single(); caseResult.Pass.Should().Be(true, caseResult.ErrorMessage); }
public void MessageWithQuotations() { model.CsvExpectedOutput = @"""test""[this is a message],""test2[test]"""; var result = CsvGradeCaseGenerator.ConvertTextToGradeCases(model.CsvCases, model.CsvExpectedOutput); var ot = result.First().ExpectedOutputs; ot[0].ValueToMatch.Should().Be("test"); ot[0].Hint.Should().Be("this is a message"); ot[1].ValueToMatch.Should().Be("test2[test]"); ot[1].Hint.Should().BeNullOrEmpty(); }
public void NegateWithQuotations() { model.CsvExpectedOutput = @"!""test"",""!test2"""; var result = CsvGradeCaseGenerator.ConvertTextToGradeCases(model.CsvCases, model.CsvExpectedOutput); var ot = result.First().ExpectedOutputs; ot[0].ValueToMatch.Should().Be("test"); ot[0].Negate.Should().BeTrue(); ot[1].ValueToMatch.Should().Be("!test2"); ot[1].Negate.Should().BeFalse(); }
public void QuotationTest() { var CsvCases = @"""test"", ""test2 "",""test,test"", test3 , , "" "" ,test[hint] "; var CsvExpectedOutput = ""; var result = CsvGradeCaseGenerator.ConvertTextToGradeCases(CsvCases, CsvExpectedOutput); var inp = result.First().Inputs; inp[0].Should().Be("test"); inp[1].Should().Be("test2 "); inp[2].Should().Be("test,test"); inp[3].Should().Be(" test3 "); inp[4].Should().Be(" "); inp[5].Should().Be(" "); }
public void ExpectedOutput_Should_Fail(string expected) { var result = Assert.Throws <ParserExceptionList>(() => CsvGradeCaseGenerator.ConvertTextToGradeCases("", expected)); result.Exceptions.Should().HaveCount(1); }
public void InputWithoutOutput_Count_Should_BeTwo() { var result = CsvGradeCaseGenerator.ConvertToGradeCases(new string[0], new[] { "1,2", "1,2" }); result.Should().HaveCount(2); }