From 27f58e0925297271c6c023c4cc1009b6e8c03df5 Mon Sep 17 00:00:00 2001 From: giorgosmav21 Date: Sun, 27 May 2018 17:04:22 +0300 Subject: [PATCH] Adding HayesTest and ZoomTest --- .../iluwatar/acyclicvisitor/HayesTest.java | 60 +++++++++++++++++++ .../com/iluwatar/acyclicvisitor/ZoomTest.java | 59 ++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/HayesTest.java create mode 100644 acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/ZoomTest.java diff --git a/acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/HayesTest.java b/acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/HayesTest.java new file mode 100644 index 000000000..ba5139bf6 --- /dev/null +++ b/acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/HayesTest.java @@ -0,0 +1,60 @@ +/** + * The MIT License + * Copyright (c) 2014-2016 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.acyclicvisitor; + +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyZeroInteractions; + +import org.junit.jupiter.api.Test; + +import com.iluwatar.acyclicvisitor.ConfigureForDosVisitor; +import com.iluwatar.acyclicvisitor.ConfigureForUnixVisitor; +import com.iluwatar.acyclicvisitor.Hayes; +import com.iluwatar.acyclicvisitor.HayesVisitor; + +/** + * Hayes test class + */ +public class HayesTest { + + @Test + public void testAcceptForDos() { + Hayes hayes = new Hayes(); + ConfigureForDosVisitor mockVisitor = mock(ConfigureForDosVisitor.class); + + hayes.accept(mockVisitor); + verify((HayesVisitor)mockVisitor).visit(eq(hayes)); + } + + @Test + public void testAcceptForUnix() { + Hayes hayes = new Hayes(); + ConfigureForUnixVisitor mockVisitor = mock(ConfigureForUnixVisitor.class); + + hayes.accept(mockVisitor); + + verifyZeroInteractions(mockVisitor); + } +} diff --git a/acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/ZoomTest.java b/acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/ZoomTest.java new file mode 100644 index 000000000..22391fb2f --- /dev/null +++ b/acyclic-visitor/src/test/java/com/iluwatar/acyclicvisitor/ZoomTest.java @@ -0,0 +1,59 @@ +/** + * The MIT License + * Copyright (c) 2014-2016 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.acyclicvisitor; + + +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.mock; + +import org.junit.jupiter.api.Test; + +import com.iluwatar.acyclicvisitor.ConfigureForDosVisitor; +import com.iluwatar.acyclicvisitor.ConfigureForUnixVisitor; +import com.iluwatar.acyclicvisitor.Zoom; +import com.iluwatar.acyclicvisitor.ZoomVisitor; + +/** + * Zoom test class + */ +public class ZoomTest { + + @Test + public void testAcceptForDos() { + Zoom zoom = new Zoom(); + ConfigureForDosVisitor mockVisitor = mock(ConfigureForDosVisitor.class); + + zoom.accept(mockVisitor); + verify((ZoomVisitor)mockVisitor).visit(eq(zoom)); + } + + @Test + public void testAcceptForUnix() { + Zoom zoom = new Zoom(); + ConfigureForUnixVisitor mockVisitor = mock(ConfigureForUnixVisitor.class); + + zoom.accept(mockVisitor); + verify((ZoomVisitor)mockVisitor).visit(eq(zoom)); + } +}