public void HasErrors_WhenThereIsNoErrors_ReturnFalse() { var correctionResult = new CorrectionResult(); var result = correctionResult.HasErrors(); Assert.IsFalse(result); }
public void HasErrors_WhenThereIsNoErrors_ReturnFalse() { var correctionResult = new CorrectionResult(); var result = correctionResult.HasErrors(); Assert.IsFalse(result); }
public void HasErrors_WhenExistsErrors_ReturnTrue() { var correctionResult = new CorrectionResult {Errors = new List<string> {"Error"}}; var result = correctionResult.HasErrors(); Assert.IsTrue(result); }
public void HasErrors_WhenExistsErrors_ReturnTrue() { var correctionResult = new CorrectionResult { Errors = new List <string> { "Error" } }; var result = correctionResult.HasErrors(); Assert.IsTrue(result); }
public virtual CorrectionResult CheckAnswer(Question question) { CompilerResults compiledSourceCode = _compilationService.CompileSourceCode(question.SourceCode); if (compiledSourceCode.Errors.HasErrors) { var correctionResult = new CorrectionResult(); foreach (CompilerError compilationError in compiledSourceCode.Errors) { correctionResult.Errors.Add(compilationError.ErrorText); } return(correctionResult); } return(_runnerService.RunMethod(compiledSourceCode.CompiledAssembly, question)); }
public void CheckAnswer_WhenExistsCompilationErrors_SetsErrorList() { var stubCompilationService = new CompilationService(); CompilerResults compilerResults = stubCompilationService.CompileSourceCode("NotCompilingSourceCode"); var stubTestsRunnerService = MockRepository.GenerateStub <RunnerService>(); var correctionProcess = new CorrectionProcess(stubCompilationService, stubTestsRunnerService); CorrectionResult correctionResult = correctionProcess.CheckAnswer(new Question { SourceCode = "NotCompilingSourceCode" }); Assert.AreEqual(compilerResults.Errors.Count, correctionResult.Errors.Count); Assert.AreEqual(compilerResults.Errors[0].ErrorText, correctionResult.Errors[0]); Assert.AreEqual(compilerResults.Errors[compilerResults.Errors.Count - 1].ErrorText, correctionResult.Errors[correctionResult.Errors.Count - 1]); }
public static CorrectionResult Suggest(string input) { if (input.Length <= 3) { return(CorrectionResult.Fail("Sorry, I didn't get this working for word sizes less than 3...")); } if (Words.AllSet.Contains(input)) { return(CorrectionResult.ExactMatch()); } var matches = Triplets(input).Aggregate(new Dictionary <string, int>(), (matches, triplet) => { if (!TripletsToWords.ContainsKey(triplet)) { return(matches); } foreach (var match in TripletsToWords[triplet]) { if (!matches.ContainsKey(match)) { matches[match] = 1; } else { matches[match] = matches[match] + 1; } } return(matches); }); if (!matches.Any()) { return(CorrectionResult.NoMatch()); } // I could optimize by not ordering these in the leven suggest cases, buuuut that's tomorrow's problem return(CorrectionResult.Suggest(matches.OrderByDescending(kv => kv.Value).Select(kv => kv.Key))); }
public void CorrectionResult_InitializesErrorsList() { var correctionResult = new CorrectionResult(); Assert.IsNotNull(correctionResult.Errors); }
var results when results.Any() => CorrectionResult.Suggest(results),
public void CorrectionResult_InitializesErrorsList() { var correctionResult = new CorrectionResult(); Assert.IsNotNull(correctionResult.Errors); }