From 7db8e3a2143846f62912d61124e57bc8c1f75758 Mon Sep 17 00:00:00 2001
From: Stephan Hilb <stephan@ecshi.net>
Date: Sat, 10 Sep 2022 18:17:34 +0200
Subject: [PATCH] fix unit tests

---
 test/runtests.jl | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/test/runtests.jl b/test/runtests.jl
index 1df4dfa..ffd5184 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.)
 
-- 
GitLab