Skip to content

Commit ee38e3f

Browse files
authored
Merge pull request #379 from ReactiveBayes/363-use-retestitems-for-tests
Use ReTestItems for tests
2 parents 97e8dd7 + 513d4ef commit ee38e3f

File tree

164 files changed

+825
-1674
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

164 files changed

+825
-1674
lines changed

Project.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
8080
BenchmarkCI = "20533458-34a3-403d-a444-e18f38190b5b"
8181
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
8282
Coverage = "a2441757-f6aa-5fb2-8edb-039e3f45d037"
83+
CpuId = "adafc99b-e345-5852-983c-f28acb93d879"
8384
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
8485
DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5"
8586
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
@@ -89,9 +90,10 @@ Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
8990
Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2"
9091
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
9192
PkgBenchmark = "32113eaa-f34f-5b0d-bd6c-c81e245fc73d"
93+
ReTestItems = "817f1d60-ba6b-4fd5-9520-3cf149f6a823"
9294
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
9395
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
9496
TestSetExtensions = "98d24dd4-01ad-11ea-1b02-c9a08f80db04"
9597

9698
[targets]
97-
test = ["Test", "Pkg", "Logging", "InteractiveUtils", "TestSetExtensions", "Coverage", "Dates", "Distributed", "Documenter", "BenchmarkCI", "BenchmarkTools", "PkgBenchmark", "Aqua", "StableRNGs", "Optimisers", "DiffResults"]
99+
test = ["Aqua", "CpuId", "ReTestItems", "Test", "Pkg", "Logging", "InteractiveUtils", "TestSetExtensions", "Coverage", "Dates", "Distributed", "Documenter", "BenchmarkCI", "BenchmarkTools", "PkgBenchmark", "StableRNGs", "Optimisers", "DiffResults"]
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
module ReactiveMPAddonsDebugTest
2-
3-
using Test, ReactiveMP, Distributions, BayesBase, ExponentialFamily
4-
5-
@testset "Debug addon" begin
1+
@testitem "Debug addon" begin
2+
using ExponentialFamily, BayesBase
63
import ReactiveMP: AddonDebug
74

85
@testset "Creation" begin
@@ -20,5 +17,3 @@ using Test, ReactiveMP, Distributions, BayesBase, ExponentialFamily
2017
@test multiply_addons(addon, addon, NormalMeanVariance(0.0, 3.00), Missing(), Missing()) == addon
2118
end
2219
end
23-
24-
end
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
module ReactiveMPAddonsMemoryTest
1+
@testitem "Memory addon" begin
2+
using ExponentialFamily, BayesBase
23

3-
using Test, ReactiveMP, Distributions, BayesBase, ExponentialFamily
4-
5-
@testset "Memory addon" begin
64
import ReactiveMP: AddonMemory
75

86
@testset "Creation" begin
@@ -35,5 +33,3 @@ using Test, ReactiveMP, Distributions, BayesBase, ExponentialFamily
3533
@test occursin("result: $(repr(result))", displayed)
3634
end
3735
end
38-
39-
end
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11

2-
module ReactiveMPAddonsTest
2+
@testitem "Addons" begin
3+
using ReactiveMP, BayesBase, Distributions, ExponentialFamily
34

4-
using Test, ReactiveMP, BayesBase, Distributions, ExponentialFamily
5+
using ReactiveMP: multiply_addons
56

6-
using ReactiveMP: multiply_addons
7-
8-
@testset "Addons" begin
97
@testset "addonlogscale" begin
108
@testset "creation" begin
119
addon1 = AddonLogScale()
@@ -41,5 +39,3 @@ using ReactiveMP: multiply_addons
4139
end
4240
end
4341
end
44-
45-
end
Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,38 @@
1-
module ReactiveMPRenderCVITest
21

3-
using Test, ReactiveMP, Random, StableRNGs, BayesBase, Distributions, ExponentialFamily, Optimisers, DiffResults, LinearAlgebra
2+
@testitem "cvi:prod" begin
3+
using ReactiveMP, Random, StableRNGs, BayesBase, Distributions, ExponentialFamily, Optimisers, DiffResults, LinearAlgebra
44

5-
import BayesBase: AbstractContinuousGenericLogPdf
6-
import StatsFuns: logistic, softmax
7-
import SpecialFunctions: polygamma
5+
import BayesBase: AbstractContinuousGenericLogPdf
6+
import StatsFuns: logistic, softmax
7+
import SpecialFunctions: polygamma
88

9-
struct NoopOptimiser end
9+
struct NoopOptimiser end
1010

11-
function ReactiveMP.cvi_setup(::NoopOptimiser, λ)
12-
return (NoopOptimiser(), nothing)
13-
end
14-
15-
function ReactiveMP.cvi_update!(state::Tuple{NoopOptimiser, Nothing}, new_λ, λ, ∇)
16-
return state, vec(λ)
17-
end
11+
function ReactiveMP.cvi_setup(::NoopOptimiser, λ)
12+
return (NoopOptimiser(), nothing)
13+
end
1814

19-
mutable struct CountingOptimizer
20-
num_its::Int
21-
end
15+
function ReactiveMP.cvi_update!(state::Tuple{NoopOptimiser, Nothing}, new_λ, λ, ∇)
16+
return state, vec(λ)
17+
end
2218

23-
function ReactiveMP.cvi_setup(opt::CountingOptimizer, λ)
24-
return (opt, nothing)
25-
end
19+
mutable struct CountingOptimizer
20+
num_its::Int
21+
end
2622

27-
function ReactiveMP.cvi_update!(state::Tuple{CountingOptimizer, Nothing}, new_λ, λ, ∇)
28-
opt = state[1]
29-
opt.num_its += 1
30-
return (state, vec(λ))
31-
end
23+
function ReactiveMP.cvi_setup(opt::CountingOptimizer, λ)
24+
return (opt, nothing)
25+
end
3226

33-
function gammafisher(dist::GammaShapeRate)
34-
return [polygamma(1, shape(dist)) -1/rate(dist); -1/rate(dist) shape(dist)/rate(dist)^2]
35-
end
27+
function ReactiveMP.cvi_update!(state::Tuple{CountingOptimizer, Nothing}, new_λ, λ, ∇)
28+
opt = state[1]
29+
opt.num_its += 1
30+
return (state, vec(λ))
31+
end
3632

37-
@testset "cvi:prod" begin
33+
function gammafisher(dist::GammaShapeRate)
34+
return [polygamma(1, shape(dist)) -1/rate(dist); -1/rate(dist) shape(dist)/rate(dist)^2]
35+
end
3836

3937
# These are tested in the `ExponentialFamily`, test a simple case just to be sure
4038
@testset "Simple check for the existence of the `fisherinformation`" begin
@@ -197,4 +195,3 @@ end
197195
end
198196
end
199197
end
200-
end
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
module ReactiveMPLinearizationApproximationTest
21

3-
using Test
4-
using ReactiveMP
2+
@testitem "Linearization approximation method" begin
3+
using ReactiveMP
54

6-
import ReactiveMP: Linearization
5+
import ReactiveMP: Linearization
76

8-
@testset "Linearization approximation method" begin
97
@testset "linearization `approximate` tests" begin
108
import ReactiveMP: approximate, Linearization
119

@@ -15,5 +13,3 @@ import ReactiveMP: Linearization
1513
@test @inferred(approximate(Linearization(), (x, y) -> x .- y, ([1.0, 2.0], [1.0, 1.0]))) == ([1.0 0.0 -1.0 0.0; 0.0 1.0 0.0 -1.0], [0.0, 0.0])
1614
end
1715
end
18-
19-
end
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
module ReactiveMPSharedApproximationTest
21

3-
using Test
4-
using ReactiveMP
2+
@testitem "Shared approximation methods" begin
3+
using ReactiveMP
54

6-
@testset "Shared approximation methods" begin
75
@testset "__starts_at tests" begin
86
import ReactiveMP: __starts_at
97

@@ -52,5 +50,3 @@ using ReactiveMP
5250
@test @inferred(__splitjoin([1, 0, 0, 1, 2, 1, 0, 0, 1], ((2, 2), (), (2, 2)))) == ([1 0; 0 1], 2, [1 0; 0 1])
5351
end
5452
end
55-
56-
end
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
module ReactiveMPUnscentedApproximationTest
21

3-
using Test
4-
using ReactiveMP
2+
@testitem "Unscented approximation method" begin
3+
using ReactiveMP
54

6-
import ReactiveMP: Unscented, unscented_statistics
5+
import ReactiveMP: Unscented, unscented_statistics
76

8-
@testset "Unscented approximation method" begin
97
@testset "Univariate `unscented_statistics`" begin
108

119
# Compared against the ForneyLab implementation
@@ -78,5 +76,3 @@ import ReactiveMP: Unscented, unscented_statistics
7876
)
7977
end
8078
end
81-
82-
end
Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
module ReactiveMPFactorisationSpecTest
21

3-
using Test
4-
using ReactiveMP
2+
@testitem "Factorisation constraints specification" begin
3+
using ReactiveMP
54

6-
import ReactiveMP: FunctionalIndex
7-
import ReactiveMP: CombinedRange, SplittedRange, is_splitted
8-
import ReactiveMP: __as_unit_range, __factorisation_specification_resolve_index
9-
import ReactiveMP: resolve_factorisation
10-
import ReactiveMP: DefaultConstraints, UnspecifiedConstraints
11-
import ReactiveMP: setanonymous!, activate!
5+
import ReactiveMP: FunctionalIndex
6+
import ReactiveMP: CombinedRange, SplittedRange, is_splitted
7+
import ReactiveMP: __as_unit_range, __factorisation_specification_resolve_index
8+
import ReactiveMP: resolve_factorisation
9+
import ReactiveMP: DefaultConstraints, UnspecifiedConstraints
10+
import ReactiveMP: setanonymous!, activate!
1211

13-
@testset "Factorisation constraints specification" begin
1412
@testset "CombinedRange" begin
1513
for left in 1:3, right in 10:13
1614
cr = CombinedRange(left, right)
@@ -108,5 +106,3 @@ import ReactiveMP: setanonymous!, activate!
108106
)
109107
end
110108
end
111-
112-
end
Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
module ReactiveMPFactorisationSpecTest
1+
@testitem "Meta specification" begin
2+
using ReactiveMP, BayesBase, ExponentialFamily
23

3-
using Test, ReactiveMP, BayesBase, ExponentialFamily
4+
import ReactiveMP: MetaSpecification, MetaSpecificationOptions, MetaSpecificationEntry
5+
import ReactiveMP: resolve_meta
46

5-
import ReactiveMP: MetaSpecification, MetaSpecificationOptions, MetaSpecificationEntry
6-
import ReactiveMP: resolve_meta
7-
8-
@testset "Meta specification" begin
97
@testset "resolve_meta #1" begin
108
spec = MetaSpecification(
119
(
@@ -80,5 +78,3 @@ import ReactiveMP: resolve_meta
8078
@test_throws ErrorException resolve_meta(spec, NormalMeanPrecision, (randomvar(:z), randomvar(:x)))
8179
end
8280
end
83-
84-
end

0 commit comments

Comments
 (0)