public static void TestReturnsZeroWhenEmptyString() { string testName = MethodBase.GetCurrentMethod().Name; try { SimpleParser p = new SimpleParser(); int result = p.ParseAndSum(string.Empty); if (result != 0) { TestUtility.ShowProblem(testName, "FAILED: Parse and sum should have returned 0 on an empty string"); } else { TestUtility.ShowProblem(testName, "PASSED"); } } catch (Exception e) { TestUtility.ShowProblem(testName, string.Format("FAILED: {0}", e.ToString())); } }
public static void TestReturnsSumWhenStringContainsMoreThanOneNumber() { string testName = MethodBase.GetCurrentMethod().Name; try { SimpleParser p = new SimpleParser(); string numbers = "5,10,15,20,25,30,40"; int result = p.ParseAndSum(numbers); if(result == 145) { TestUtility.ShowProblem(testName, "PASSED"); } else { TestUtility.ShowProblem(testName, "FAILED: Parse and sum should have returned the correct summation"); } } catch (Exception e) { TestUtility.ShowProblem(testName, string.Format("FAILED: {0}", e.ToString())); } }
public static void TestReturnsNumberWhenStringContainsOneNumber() { string testName = MethodBase.GetCurrentMethod().Name; try { SimpleParser p = new SimpleParser(); string numbers = "324"; int result = p.ParseAndSum(numbers); if (result == Convert.ToInt32(numbers)) { TestUtility.ShowProblem(testName, "PASSED"); } else { TestUtility.ShowProblem(testName, "FAILED: Parse and sum should have returned a single number."); } } catch (Exception e) { TestUtility.ShowProblem(testName, string.Format("FAILED: {0}", e.ToString())); } }
public void Setup() { lexerStub = MockRepository.GenerateStub<ILexer>(); sut = new SimpleParser(lexerStub); mockTokens = new PQueue<Token>(); }
private Node<string> CallParse() { if (txtInput.Text.Length == 0) { AddTextLineToOutput("No input specified", Color.Red); return null; } var parser = new SimpleParser(lexer); try { parser.Parse(txtInput.Text); RenderTree(parser.SyntaxTree); AddTextLineToOutput("Parsing succeeded", Color.DarkGreen); return parser.SyntaxTree; } catch (ParserException ex) { AddTextLineToOutput(ex.Message, Color.Red); return null; } }