2022-08-24 14:28:45 +02:00

30 lines
934 B
Julia

using Test
include("run-length-encoding.jl")
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.0.0
# Encode and decode the strings under the given specifications.
@testset "encode strings" begin
@test encode("") == ""
@test encode("XYZ") == "XYZ"
@test encode("AABBBCCCC") == "2A3B4C"
@test encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB") == "12WB12W3B24WB"
@test encode("aabbbcccc") == "2a3b4c"
@test encode(" hsqq qww ") == "2 hs2q q2w2 "
end
@testset "decode strings" begin
@test decode("") == ""
@test decode("XYZ") == "XYZ"
@test decode("2A3B4C") == "AABBBCCCC"
@test decode("12WB12W3B24WB") == "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"
@test decode("2a3b4c") == "aabbbcccc"
@test decode("2 hs2q q2w2 ") == " hsqq qww "
end
@testset "encode then decode" begin
@test decode(encode("zzz ZZ zZ")) == "zzz ZZ zZ"
end