1 /* 2 * Copyright (c) 2021, 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 package compiler.lib.ir_framework; 25 26 /** 27 * Well-defined argument values that can be used in the {@link Arguments} annotation at a {@link Test} method for a 28 * <b>base test</b> or a <b>checked test</b>. 29 * 30 * @see Arguments 31 * @see Test 32 * @see Check 33 */ 34 public enum Argument { 35 /** 36 * Provides the default value for any kind of primitive type and object type if the class provides a default constructor. 37 */ 38 DEFAULT, 39 /** 40 * Provides the number 42 for any primitive number type. 41 */ 42 NUMBER_42, 43 /** 44 * Provides the number -42 for any primitive number type. 45 */ 46 NUMBER_MINUS_42, 47 /** 48 * Provides the minimum value of the specified primitive number type. 49 */ 50 MIN, 51 /** 52 * Provides the maximum value of the specified primitive number type. 53 */ 54 MAX, 55 /** 56 * Provides the boolean value false. 57 */ 58 FALSE, 59 /** 60 * Provides the boolean value true. 61 */ 62 TRUE, 63 /** 64 * Provides a different boolean value on each test invocation, starting with false. 65 */ 66 BOOLEAN_TOGGLE_FIRST_FALSE, 67 /** 68 * Provides a different boolean value on each test invocation, starting with true. 69 */ 70 BOOLEAN_TOGGLE_FIRST_TRUE, 71 /** 72 * Provides a random primitive value on the first test invocation and reuses the same value for all invocation of the test. 73 * Float and double values are restricted to the range [-10000,10000]. 74 */ 75 RANDOM_ONCE, 76 /** 77 * Provides a different random primitive value on each test invocation. 78 * Float and double values are restricted to the range [-10000,10000]. 79 */ 80 RANDOM_EACH, 81 } 82