diff --git a/test/mcmc.jl b/test/mcmc.jl new file mode 100644 index 0000000..8047df0 --- /dev/null +++ b/test/mcmc.jl @@ -0,0 +1,34 @@ +using GardenOptim +using Test + +@testset "randomindex" begin + mask = rand(Bool, 5, 5) + @test mask[GardenOptim.randomindex(mask)] +end +@testset "swap" begin + grid = ones(Int, 5, 5) + grid[2] = 5 + grid[8] = -3 + GardenOptim.swap!(grid, 2, 8) + @test grid[2] == -3 + @test grid[8] == 5 + @test grid[6] == 1 +end +@testset "neighbours" begin + grid = ones(Int, 5, 5) + @test length(GardenOptim.neighbours(grid, 4)) == 3 + @test length(GardenOptim.neighbours(grid, 5)) == 2 + @test length(GardenOptim.neighbours(grid, 8)) == 4 + @test length(GardenOptim.neighbours(grid, 25)) == 2 + @test GardenOptim.neighbours(grid, 1) == [1, 1] + grid[3] = 0 + @test length(GardenOptim.neighbours(grid, 4)) == 2 +end +@testset "deltacost" begin + grid = ones(Int, 5, 5) + costs = [[1. 0. 2.]; [0. 1. -1.]; [2. -1. 1.]] + @test GardenOptim.deltacost(grid, costs, 3, 8) == 0 + grid[3] = 2 + grid[9] = 3 + @test GardenOptim.deltacost(grid, costs, 3, 8) != 0 +end diff --git a/test/runtests.jl b/test/runtests.jl index 6394948..fbbbf55 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,37 +1,6 @@ -using GardenOptim using Test @testset "GardenOptim.jl" begin - @testset "randomindex" begin - mask = rand(Bool, 5, 5) - @test mask[GardenOptim.randomindex(mask)] - end - @testset "swap" begin - grid = ones(Int, 5, 5) - grid[2] = 5 - grid[8] = -3 - GardenOptim.swap!(grid, 2, 8) - @test grid[2] == -3 - @test grid[8] == 5 - @test grid[6] == 1 - end - @testset "neighbours" begin - grid = ones(Int, 5, 5) - @test length(GardenOptim.neighbours(grid, 4)) == 3 - @test length(GardenOptim.neighbours(grid, 5)) == 2 - @test length(GardenOptim.neighbours(grid, 8)) == 4 - @test length(GardenOptim.neighbours(grid, 25)) == 2 - @test GardenOptim.neighbours(grid, 1) == [1, 1] - grid[3] = 0 - @test length(GardenOptim.neighbours(grid, 4)) == 2 - end - @testset "deltacost" begin - grid = ones(Int, 5, 5) - costs = [[1. 0. 2.]; [0. 1. -1.]; [2. -1. 1.]] - @test GardenOptim.deltacost(grid, costs, 3, 8) == 0 - grid[3] = 2 - grid[9] = 3 - @test GardenOptim.deltacost(grid, costs, 3, 8) != 0 - end include("classification.jl") + include("mcmc.jl") end