Commit c7a5d448 authored by Fredrik Bagge Carlson's avatar Fredrik Bagge Carlson
Browse files

Added several tests

parent 6c44fba1
module SystemIdentificationTests
export run_tests()
export run_tests
using SystemIdentification
macro test(text,x)
return :(begin
global success = 0
global fail = 0
print("Testing ",$text, ": ")
try
$x
if fail == 0
print_with_color(:green, "Success: $success\n")
else
print_with_color(:green, "Success: $success, ")
print_with_color(:red, "Failed: $fail\n")
end
catch ex
print_with_color(:red, "Failed: ")
print(ex, "\n")
end
end)
end
macro tassert(x)
return :(begin
try
@assert $x
success += 1
catch ex
if isa(ex,AssertionError)
print_with_color(:red, "Error: ")
print(ex.msg, " ")
fail += 1
else
rethrow(ex)
end
end
end)
end
function run_tests()
@assert isa(1,Polynom)
@assert isa(1.0,Polynom)
@assert isa([1.0; 1.0],Polynom)
@assert isa(1.0,PolynomMatrix)
@assert isa(1,PolynomMatrix)
@test "Polynomials " begin
@tassert isa(1,Polynom)
@tassert isa(1.0,Polynom)
@tassert isa([1.0; 1.0],Polynom)
@tassert isa(1.0,PolynomMatrix)
@tassert isa(1,PolynomMatrix)
end
@test "AR " begin
model, result = ar(collect(1:5.0),1,bias=true)
fit = result.fit
@tassert isa(model,AR)
@tassert isa(result,FitResult)
@tassert isa(fit,FitStatistics)
@tassert model.a [1;1]
@tassert fit.FIT 100.0
@tassert isapprox(fit.RMS, 0.0, atol=1e-10)
@tassert result.method == :LS
end
#ar(collect(1:5.0),1,bias=true)
@test "ARX " begin
model, result = arx(collect(1:5.0),collect(1:5.0),1,1,bias=true)
fit = result.fit
@tassert isa(model,ARX)
@tassert isa(result,FitResult)
@tassert isa(fit,FitStatistics)
@tassert model.a [1;1]
@tassert fit.FIT 100.0
@tassert isapprox(fit.RMS, 0.0, atol=1e-10)
@tassert result.method == :LS
end
end
end
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment