public void Visit_ForAllWithSetParentType_LogsNoError() { // Arrange ForAllNode forAllNode = new ForAllNode(DummySrcPos); forAllNode.Block = new BlockNode(DummySrcPos); forAllNode.Parent = SuitReferenceNode; forAllNode.Child = new DeclarationNode(new CardValueTypeNode(DummySrcPos), new IdentifierNode("child", DummySrcPos), DummySrcPos); // Act Checker.Visit(forAllNode); // Assert Assert.IsTrue(ErrorLogger.Errors.Count == 0); }
public void Visit_ForAllNode_EmitsCorrectCode() { // Arrange ForAllNode forAllNode = new ForAllNode(DummySrcPos); forAllNode.Block = new BlockNode(DummySrcPos); forAllNode.Parent = SuitReferenceNode; forAllNode.Child = new DeclarationNode(new CardValueTypeNode(DummySrcPos), new IdentifierNode("child", DummySrcPos), DummySrcPos); StringBuilder builder = new StringBuilder(); builder.Append("for(int i_1 = 0; i_1 < suit.Count; i_1++)\n"); builder.Append("{\n var child = suit[i_1];\n"); builder.Append("{\n}\n}"); string expectedResult = builder.ToString(); // Act string actualResult = CodeGenerator.Visit(forAllNode); // Assert Assert.AreEqual(expectedResult, actualResult); }