Skip to content

Commit 6b8c6e9

Browse files
committed
Cleanup checked arithmetic tests
The block checking only return types was in part redundant with tests checking both type and value below. Add a few missing cases, and clean a few unnecessarily complex expressions.
1 parent facce89 commit 6b8c6e9

File tree

1 file changed

+12
-23
lines changed

1 file changed

+12
-23
lines changed

test/checked.jl

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,18 @@
55
import Base: checked_abs, checked_neg, checked_add, checked_sub, checked_mul,
66
checked_div, checked_rem, checked_fld, checked_mod, checked_cld
77

8-
# Test return types
9-
for T in (Int8,Int16,Int32,Int64,Int128, UInt8,UInt16,UInt32,UInt64,UInt128)
10-
z, o = T(0), T(1)
11-
@test typeof(checked_neg(z)) === T
12-
@test typeof(checked_abs(z)) === T
13-
@test typeof(checked_add(z)) === T
14-
@test typeof(checked_mul(z)) === T
15-
@test typeof(checked_add(z,z)) === T
16-
@test typeof(checked_sub(z,z)) === T
17-
@test typeof(checked_mul(z,z)) === T
18-
@test typeof(checked_div(z,o)) === T
19-
@test typeof(checked_rem(z,o)) === T
20-
@test typeof(checked_fld(z,o)) === T
21-
@test typeof(checked_mod(z,o)) === T
22-
@test typeof(checked_cld(z,o)) === T
23-
end
24-
258
# checked operations
269

2710
for T in (Int8, Int16, Int32, Int64, Int128)
2811
# regular cases
12+
@test checked_abs(T(0)) === T(0)
13+
@test checked_neg(T(0)) === T(0)
14+
@test checked_add(T(0)) === T(0)
15+
@test checked_mul(T(0)) === T(0)
16+
2917
for s in (-1, +1)
30-
@test checked_abs(T(0s)) === T(abs(0s))
31-
@test checked_neg(T(0s)) === T(-(0s))
32-
@test checked_add(T(0s)) === T(0s)
33-
@test checked_mul(T(0s)) === T(0s)
3418
@test checked_abs(T(3s)) === T(abs(3s))
35-
@test checked_neg(T(3s)) === T(-(3s))
19+
@test checked_neg(T(3s)) === T(-3s)
3620
@test checked_add(T(3s)) === T(3s)
3721
@test checked_mul(T(3s)) === T(3s)
3822
@test checked_abs(T(s*typemax(T))) === typemax(T)
@@ -46,7 +30,7 @@ for T in (Int8, Int16, Int32, Int64, Int128)
4630
@test_throws OverflowError checked_neg(typemin(T))
4731

4832
# regular cases
49-
for s1 in (-1, +1), s2 in (-1,+1)
33+
for s1 in (-1, +1), s2 in (-1, +1)
5034
@test checked_add(T(4s1), T(3s2)) === T(4s1 + 3s2)
5135
@test checked_sub(T(4s1), T(3s2)) === T(4s1 - 3s2)
5236
@test checked_mul(T(4s1), T(3s2)) === T(4s1 * 3s2)
@@ -144,8 +128,13 @@ for T in (UInt8, UInt16, UInt32, UInt64, UInt128)
144128
# regular cases
145129
@test checked_abs(T(0)) === T(0)
146130
@test checked_neg(T(0)) === T(0)
131+
@test checked_add(T(0)) === T(0)
132+
@test checked_mul(T(0)) === T(0)
133+
147134
@test checked_abs(T(3)) === T(3)
148135
@test_throws OverflowError checked_neg(T(3))
136+
@test checked_add(T(3)) === T(3)
137+
@test checked_mul(T(3)) === T(3)
149138

150139
# regular cases
151140
@test checked_add(T(4), T(3)) === T(7)

0 commit comments

Comments
 (0)