1 /*
2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.
8  *
9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 /*
25  * @test
26  * @summary Testing IllegalArgumentException.
27  * @build KullaTesting TestingInputStream IllegalArgumentExceptionTest
28  * @run testng IllegalArgumentExceptionTest
29  */
30 
31 import java.util.function.Consumer;
32 
33 import jdk.jshell.DeclarationSnippet;
34 import jdk.jshell.Snippet;
35 import jdk.jshell.VarSnippet;
36 import org.testng.annotations.Test;
37 
38 import static org.testng.Assert.fail;
39 import static jdk.jshell.Snippet.Status.VALID;
40 
41 @Test
42 public class IllegalArgumentExceptionTest extends KullaTesting {
43 
testIllegalArgumentException(Consumer<Snippet> action)44     private void testIllegalArgumentException(Consumer<Snippet> action) {
45         Snippet key = varKey(assertEval("int value;", added(VALID)));
46         tearDown();
47         setUp();
48         assertEval("double value;");
49         try {
50             action.accept(key);
51             fail("Exception expected.");
52         } catch (IllegalArgumentException e) {
53             // Expected
54         }
55     }
56 
testVarValue()57     public void testVarValue() {
58         testIllegalArgumentException((key) -> getState().varValue((VarSnippet) key));
59     }
60 
testStatus()61     public void testStatus() {
62         testIllegalArgumentException((key) -> getState().status(key));
63     }
64 
testDrop()65     public void testDrop() {
66         testIllegalArgumentException((key) -> getState().drop(key));
67     }
68 
testUnresolved()69     public void testUnresolved() {
70         testIllegalArgumentException((key) -> getState().unresolvedDependencies((DeclarationSnippet) key));
71     }
72 
testDiagnostics()73     public void testDiagnostics() {
74         testIllegalArgumentException((key) -> getState().diagnostics(key));
75     }
76 }
77