diff --git a/test/runtests.jl b/test/runtests.jl index 1df4dfa55f3e2c8385cd6e2c0117ee0341adf359..ffd5184885915ed0204084044d5a2c04c8b5aa4f 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,9 +1,15 @@ -using Test, BenchmarkTools using LinearAlgebra +using Random: MersenneTwister +using Test + +using BenchmarkTools + using DualTVDD: DualTVL1ROFOpProblem, ProjGradAlgorithm, ChambolleAlgorithm, DualTVDDAlgorithm, DualTVDDSurrogateAlgorithm, init, step!, fetch_u, normB +const seed = 47 + @testset "B = I" begin g = Float64[0 2; 1 0] prob = DualTVL1ROFOpProblem(g, I, 1e-10) @@ -21,7 +27,8 @@ end @testset "B = rand(...)" begin g = Float64[0 2; 1 0] - B = rand(length(g), length(g)) + rng = MersenneTwister(seed) + B = rand(rng, length(g), length(g)) prob = DualTVL1ROFOpProblem(g, B, 1e-10) @testset for alg in (ProjGradAlgorithm(prob, τ=1/8), ChambolleAlgorithm(prob)) @@ -38,8 +45,9 @@ end @testset "DualTVDDAlgorithm" begin n = 5 ninner = 100 - g = rand(n, n) - B = Diagonal(rand(n^2)) + rng = MersenneTwister(seed) + g = rand(rng, n, n) + B = Diagonal(rand(rng, n^2)) # big λ is ok, since we test for inter-subdomain communication prob = DualTVL1ROFOpProblem(g, B, 100.) @@ -62,13 +70,14 @@ end d = 2 n = 5 ninner = 100 - g = rand(n, n) - B = rand(n^2, n^2) + rng = MersenneTwister(seed) + g = rand(rng, n, n) + B = rand(rng, n^2, n^2) B = I + 0.5 .* (B + B') ./ n^2 M = ntuple(_->2, d) overlap = ntuple(_->2, d) parallel = true - σ = 1.0 + σ = 0.25 # big λ is ok, since we test for inter-subdomain communication prob = DualTVL1ROFOpProblem(g, B, 1000.)