122 lines
2.4 KiB
Julia
122 lines
2.4 KiB
Julia
using Test
|
|
|
|
include("minesweeper.jl")
|
|
|
|
@testset "no rows" begin
|
|
@test annotate([]) == []
|
|
end
|
|
|
|
# @testset "no columns" begin
|
|
# @test annotate([""]) == [""]
|
|
# end
|
|
|
|
@testset "no mines" begin
|
|
minefield = [" ",
|
|
" ",
|
|
" "]
|
|
out = [" ",
|
|
" ",
|
|
" "]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "minefield only mines" begin
|
|
minefield = ["***",
|
|
"***",
|
|
"***"]
|
|
out = ["***",
|
|
"***",
|
|
"***"]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "mine surrounded by spaces" begin
|
|
minefield = [" ",
|
|
" * ",
|
|
" "]
|
|
out = ["111",
|
|
"1*1",
|
|
"111"]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "space surrounded by mines" begin
|
|
minefield = ["***",
|
|
"* *",
|
|
"***"]
|
|
out = ["***",
|
|
"*8*",
|
|
"***"]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "horizontal line" begin
|
|
minefield = [" * * "]
|
|
out = ["1*2*1"]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "horizontal line mines at edges" begin
|
|
minefield = ["* *"]
|
|
out = ["*1 1*"]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "vertical line" begin
|
|
minefield = [" ",
|
|
"*",
|
|
" ",
|
|
"*",
|
|
" "]
|
|
out = ["1",
|
|
"*",
|
|
"2",
|
|
"*",
|
|
"1"]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "vertical line mines at edges" begin
|
|
minefield = ["*",
|
|
" ",
|
|
" ",
|
|
" ",
|
|
"*"]
|
|
out = ["*",
|
|
"1",
|
|
" ",
|
|
"1",
|
|
"*"]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "cross" begin
|
|
minefield = [" * ",
|
|
" * ",
|
|
"*****",
|
|
" * ",
|
|
" * "]
|
|
out = [" 2*2 ",
|
|
"25*52",
|
|
"*****",
|
|
"25*52",
|
|
" 2*2 "]
|
|
@test annotate(minefield) == out
|
|
end
|
|
|
|
@testset "large minefield" begin
|
|
minefield = [" * * ",
|
|
" * ",
|
|
" * ",
|
|
" * *",
|
|
" * * ",
|
|
" "]
|
|
out = ["1*22*1",
|
|
"12*322",
|
|
" 123*2",
|
|
"112*4*",
|
|
"1*22*2",
|
|
"111111"]
|
|
@test annotate(minefield) == out
|
|
end
|