comparison LazyTensors/test/runtests.jl @ 201:6b7019f2cd41 boundary_conditions

Add/fix test checking that no size assertion is performed when lazy operations and operations on lazy arrays are decorated using @inbounds
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Sun, 23 Jun 2019 21:27:03 +0200
parents c19bfad0e836
children 19e579a5031f
comparison
equal deleted inserted replaced
200:c19bfad0e836 201:6b7019f2cd41
80 @test (v1 -̃ v2)[i] == r_sub[i] 80 @test (v1 -̃ v2)[i] == r_sub[i]
81 @test (v1 *̃ v2)[i] == r_times[i] 81 @test (v1 *̃ v2)[i] == r_times[i]
82 @test (v1 /̃ v2)[i] == r_div[i] 82 @test (v1 /̃ v2)[i] == r_div[i]
83 end 83 end
84 @test_throws BoundsError (v1 +̃ v2)[4] 84 @test_throws BoundsError (v1 +̃ v2)[4]
85 v2 = [1., 2, 3, 4]
86 # Test that size of arrays is asserted when not specified inbounds
87 @test_throws AssertionError v1 +̃ v2
88 # Test that no error checking is performed when specified inbounds
89 res = (v1,v2) -> (@inbounds (v1 +̃ v2)[1] == 2)
90 @test res(v1,v2)
85 91
86 # Test operations on LazyArray 92 # Test operations on LazyArray
87 v1 = DummyArray([1, 2.3, 4]) 93 v1 = DummyArray([1, 2.3, 4])
94 v2 = [1., 2, 3]
88 @test isa(v1 + v2, LazyArray) 95 @test isa(v1 + v2, LazyArray)
89 @test isa(v2 + v1, LazyArray) 96 @test isa(v2 + v1, LazyArray)
90 @test isa(v1 - v2, LazyArray) 97 @test isa(v1 - v2, LazyArray)
91 @test isa(v2 - v1, LazyArray) 98 @test isa(v2 - v1, LazyArray)
92 @test isa(v1 * v2, LazyArray) 99 @test isa(v1 * v2, LazyArray)
102 @test_throws BoundsError (v1 + v2)[4] 109 @test_throws BoundsError (v1 + v2)[4]
103 v2 = [1., 2, 3, 4] 110 v2 = [1., 2, 3, 4]
104 # Test that size of arrays is asserted when not specified inbounds 111 # Test that size of arrays is asserted when not specified inbounds
105 @test_throws AssertionError v1 + v2 112 @test_throws AssertionError v1 + v2
106 # Test that no error checking is performed when specified inbounds 113 # Test that no error checking is performed when specified inbounds
107 @test_broken @inbounds((v1 + v2)[1] == 2) 114 res = (v1,v2) -> (@inbounds (v1 + v2)[1] == 2)
115 @test res(v1,v2)
108 end 116 end