From 770f0141ff2b084ebc6bd206db7840dfd4aea16f Mon Sep 17 00:00:00 2001 From: sabotack Date: Tue, 16 May 2023 14:49:09 +0200 Subject: [PATCH] added visitOr unit test --- src/test/interpreter/VisitorUnitTest.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/test/interpreter/VisitorUnitTest.java b/src/test/interpreter/VisitorUnitTest.java index ccc9fdc..3472b65 100644 --- a/src/test/interpreter/VisitorUnitTest.java +++ b/src/test/interpreter/VisitorUnitTest.java @@ -4,8 +4,6 @@ import interpreter.types.*; import interpreter.utils.MockTerminalNode; import interpreter.utils.MockToken; -import org.antlr.v4.runtime.Token; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -18,7 +16,6 @@ import org.mockito.Spy; import org.mockito.junit.jupiter.MockitoExtension; -import java.util.Objects; import java.util.concurrent.atomic.AtomicReference; @ExtendWith(MockitoExtension.class) @@ -38,7 +35,7 @@ class VisitorUnitTest { @Mock private MineScriptParser.NegContext mockNegContext; @Mock private MineScriptParser.NotExprContext mockNotExprContext; @Mock private MineScriptParser.AddSubContext mockAddSubContext; - + @Mock private MineScriptParser.OrContext mockOrContext; @ParameterizedTest @@ -277,4 +274,18 @@ void visitAddSubValidInputReturnsNumber(int value1, int value2, String operator) } } + @ParameterizedTest + @CsvSource({"false, false", "false, true", "true, false", "true, true"}) + void visitOrValidInputReturnsOrValue(boolean value1, boolean value2) { + Mockito.when(mockOrContext.expression(0)).thenReturn(mockExpressionContext1); + Mockito.when(spyVisitor.visit(mockExpressionContext1)).thenReturn(new MSBool(value1)); + + if (!value1) { + Mockito.when(mockOrContext.expression(1)).thenReturn(mockExpressionContext2); + Mockito.when(spyVisitor.visit(mockExpressionContext2)).thenReturn(new MSBool(value2)); + } + + MSType result = spyVisitor.visitOr(mockOrContext); + Assertions.assertEquals(value1 || value2, ((MSBool) result).getValue()); + } }