• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2012 The Guava Authors
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.common.math;
18 
19 import com.google.common.annotations.GwtCompatible;
20 
21 import junit.framework.TestCase;
22 
23 import java.math.BigInteger;
24 
25 /**
26  * Unit tests for {@link MathPreconditions}.
27  *
28  * @author Ben Yu
29  */
30 @GwtCompatible
31 public class MathPreconditionsTest extends TestCase {
32 
testCheckPositive_zeroInt()33   public void testCheckPositive_zeroInt() {
34     try {
35       MathPreconditions.checkPositive("int", 0);
36       fail();
37     } catch (IllegalArgumentException expected) {}
38   }
39 
testCheckPositive_maxInt()40   public void testCheckPositive_maxInt() {
41     MathPreconditions.checkPositive("int", Integer.MAX_VALUE);
42   }
43 
testCheckPositive_minInt()44   public void testCheckPositive_minInt() {
45     try {
46       MathPreconditions.checkPositive("int", Integer.MIN_VALUE);
47       fail();
48     } catch (IllegalArgumentException expected) {}
49   }
50 
testCheckPositive_positiveInt()51   public void testCheckPositive_positiveInt() {
52     MathPreconditions.checkPositive("int", 1);
53   }
54 
testCheckPositive_negativeInt()55   public void testCheckPositive_negativeInt() {
56     try {
57       MathPreconditions.checkPositive("int", -1);
58       fail();
59     } catch (IllegalArgumentException expected) {}
60   }
61 
testCheckPositive_zeroLong()62   public void testCheckPositive_zeroLong() {
63     try {
64       MathPreconditions.checkPositive("long", 0L);
65       fail();
66     } catch (IllegalArgumentException expected) {}
67   }
68 
testCheckPositive_maxLong()69   public void testCheckPositive_maxLong() {
70     MathPreconditions.checkPositive("long", Long.MAX_VALUE);
71   }
72 
testCheckPositive_minLong()73   public void testCheckPositive_minLong() {
74     try {
75       MathPreconditions.checkPositive("long", Long.MIN_VALUE);
76       fail();
77     } catch (IllegalArgumentException expected) {}
78   }
79 
testCheckPositive_positiveLong()80   public void testCheckPositive_positiveLong() {
81     MathPreconditions.checkPositive("long", 1);
82   }
83 
testCheckPositive_negativeLong()84   public void testCheckPositive_negativeLong() {
85     try {
86       MathPreconditions.checkPositive("long", -1L);
87       fail();
88     } catch (IllegalArgumentException expected) {}
89   }
90 
testCheckPositive_zeroBigInteger()91   public void testCheckPositive_zeroBigInteger() {
92     try {
93       MathPreconditions.checkPositive("BigInteger", BigInteger.ZERO);
94       fail();
95     } catch (IllegalArgumentException expected) {}
96   }
97 
testCheckPositive_postiveBigInteger()98   public void testCheckPositive_postiveBigInteger() {
99     MathPreconditions.checkPositive("BigInteger", BigInteger.ONE);
100   }
101 
testCheckPositive_negativeBigInteger()102   public void testCheckPositive_negativeBigInteger() {
103     try {
104       MathPreconditions.checkPositive("BigInteger", BigInteger.ZERO.negate());
105       fail();
106     } catch (IllegalArgumentException expected) {}
107   }
108 
testCheckNonNegative_zeroInt()109   public void testCheckNonNegative_zeroInt() {
110     MathPreconditions.checkNonNegative("int", 0);
111   }
112 
testCheckNonNegative_maxInt()113   public void testCheckNonNegative_maxInt() {
114     MathPreconditions.checkNonNegative("int", Integer.MAX_VALUE);
115   }
116 
testCheckNonNegative_minInt()117   public void testCheckNonNegative_minInt() {
118     try {
119       MathPreconditions.checkNonNegative("int", Integer.MIN_VALUE);
120       fail();
121     } catch (IllegalArgumentException expected) {}
122   }
123 
testCheckNonNegative_positiveInt()124   public void testCheckNonNegative_positiveInt() {
125     MathPreconditions.checkNonNegative("int", 1);
126   }
127 
testCheckNonNegative_negativeInt()128   public void testCheckNonNegative_negativeInt() {
129     try {
130       MathPreconditions.checkNonNegative("int", -1);
131       fail();
132     } catch (IllegalArgumentException expected) {}
133   }
134 
testCheckNonNegative_zeroLong()135   public void testCheckNonNegative_zeroLong() {
136     MathPreconditions.checkNonNegative("long", 0L);
137   }
138 
testCheckNonNegative_maxLong()139   public void testCheckNonNegative_maxLong() {
140     MathPreconditions.checkNonNegative("long", Long.MAX_VALUE);
141   }
142 
testCheckNonNegative_minLong()143   public void testCheckNonNegative_minLong() {
144     try {
145       MathPreconditions.checkNonNegative("long", Long.MIN_VALUE);
146       fail();
147     } catch (IllegalArgumentException expected) {}
148   }
149 
testCheckNonNegative_positiveLong()150   public void testCheckNonNegative_positiveLong() {
151     MathPreconditions.checkNonNegative("long", 1L);
152   }
153 
testCheckNonNegative_negativeLong()154   public void testCheckNonNegative_negativeLong() {
155     try {
156       MathPreconditions.checkNonNegative("int", -1L);
157       fail();
158     } catch (IllegalArgumentException expected) {}
159   }
160 
testCheckNonNegative_zeroBigInteger()161   public void testCheckNonNegative_zeroBigInteger() {
162     MathPreconditions.checkNonNegative("BigInteger", BigInteger.ZERO);
163   }
164 
testCheckNonNegative_positiveBigInteger()165   public void testCheckNonNegative_positiveBigInteger() {
166     MathPreconditions.checkNonNegative("BigInteger", BigInteger.ONE);
167   }
168 
testCheckNonNegative_negativeBigInteger()169   public void testCheckNonNegative_negativeBigInteger() {
170     try {
171       MathPreconditions.checkNonNegative("int", BigInteger.ONE.negate());
172       fail();
173     } catch (IllegalArgumentException expected) {}
174   }
175 
testCheckNonNegative_zeroFloat()176   public void testCheckNonNegative_zeroFloat() {
177     MathPreconditions.checkNonNegative("float", 0f);
178   }
179 
testCheckNonNegative_maxFloat()180   public void testCheckNonNegative_maxFloat() {
181     MathPreconditions.checkNonNegative("float", Float.MAX_VALUE);
182   }
183 
testCheckNonNegative_minFloat()184   public void testCheckNonNegative_minFloat() {
185     MathPreconditions.checkNonNegative("float", Float.MIN_VALUE);
186   }
187 
testCheckNonNegative_positiveFloat()188   public void testCheckNonNegative_positiveFloat() {
189     MathPreconditions.checkNonNegative("float", 1f);
190   }
191 
testCheckNonNegative_negativeFloat()192   public void testCheckNonNegative_negativeFloat() {
193     try {
194       MathPreconditions.checkNonNegative("float", -1f);
195       fail();
196     } catch (IllegalArgumentException expected) {}
197   }
198 
testCheckNonNegative_nanFloat()199   public void testCheckNonNegative_nanFloat() {
200     try {
201       MathPreconditions.checkNonNegative("float", Float.NaN);
202       fail();
203     } catch (IllegalArgumentException expected) {}
204   }
205 
testCheckNonNegative_zeroDouble()206   public void testCheckNonNegative_zeroDouble() {
207     MathPreconditions.checkNonNegative("double", 0d);
208   }
209 
testCheckNonNegative_maxDouble()210   public void testCheckNonNegative_maxDouble() {
211     MathPreconditions.checkNonNegative("double", Double.MAX_VALUE);
212   }
213 
testCheckNonNegative_minDouble()214   public void testCheckNonNegative_minDouble() {
215     MathPreconditions.checkNonNegative("double", Double.MIN_VALUE);
216   }
217 
testCheckNonNegative_positiveDouble()218   public void testCheckNonNegative_positiveDouble() {
219     MathPreconditions.checkNonNegative("double", 1d);
220   }
221 
testCheckNonNegative_negativeDouble()222   public void testCheckNonNegative_negativeDouble() {
223     try {
224       MathPreconditions.checkNonNegative("double", -1d);
225       fail();
226     } catch (IllegalArgumentException expected) {}
227   }
228 
testCheckNonNegative_nanDouble()229   public void testCheckNonNegative_nanDouble() {
230     try {
231       MathPreconditions.checkNonNegative("double", Double.NaN);
232       fail();
233     } catch (IllegalArgumentException expected) {}
234   }
235 
testCheckRoundingUnnnecessary_success()236   public void testCheckRoundingUnnnecessary_success() {
237     MathPreconditions.checkRoundingUnnecessary(true);
238   }
239 
testCheckRoundingUnnecessary_failure()240   public void testCheckRoundingUnnecessary_failure() {
241     try {
242       MathPreconditions.checkRoundingUnnecessary(false);
243       fail();
244     } catch (ArithmeticException expected) {}
245   }
246 
testCheckInRange_success()247   public void testCheckInRange_success() {
248     MathPreconditions.checkInRange(true);
249   }
250 
testCheckInRange_failure()251   public void testCheckInRange_failure() {
252     try {
253       MathPreconditions.checkInRange(false);
254       fail();
255     } catch (ArithmeticException expected) {}
256   }
257 
testCheckNoOverflow_success()258   public void testCheckNoOverflow_success() {
259     MathPreconditions.checkNoOverflow(true);
260   }
261 
testCheckNoOverflow_failure()262   public void testCheckNoOverflow_failure() {
263     try {
264       MathPreconditions.checkNoOverflow(false);
265       fail();
266     } catch (ArithmeticException expected) {}
267   }
268 }
269