Exemplo n.º 1
0
        public void HasErrors_WhenThereIsNoErrors_ReturnFalse()
        {
            var correctionResult = new CorrectionResult();
            var result = correctionResult.HasErrors();

            Assert.IsFalse(result);
        }
Exemplo n.º 2
0
        public void HasErrors_WhenThereIsNoErrors_ReturnFalse()
        {
            var correctionResult = new CorrectionResult();
            var result           = correctionResult.HasErrors();

            Assert.IsFalse(result);
        }
Exemplo n.º 3
0
        public void HasErrors_WhenExistsErrors_ReturnTrue()
        {
            var correctionResult = new CorrectionResult {Errors = new List<string> {"Error"}};
            var result = correctionResult.HasErrors();

            Assert.IsTrue(result);
        }
Exemplo n.º 4
0
        public void HasErrors_WhenExistsErrors_ReturnTrue()
        {
            var correctionResult = new CorrectionResult {
                Errors = new List <string> {
                    "Error"
                }
            };
            var result = correctionResult.HasErrors();

            Assert.IsTrue(result);
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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]);
        }
Exemplo n.º 7
0
        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)));
        }
Exemplo n.º 8
0
 public void CorrectionResult_InitializesErrorsList()
 {
     var correctionResult = new CorrectionResult();
     Assert.IsNotNull(correctionResult.Errors);
 }
Exemplo n.º 9
0
 var results when results.Any() => CorrectionResult.Suggest(results),
Exemplo n.º 10
0
        public void CorrectionResult_InitializesErrorsList()
        {
            var correctionResult = new CorrectionResult();

            Assert.IsNotNull(correctionResult.Errors);
        }