Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Fredrik Bagge Carlson
SystemIdentification
Commits
c7a5d448
Commit
c7a5d448
authored
Sep 05, 2015
by
Fredrik Bagge Carlson
Browse files
Added several tests
parent
6c44fba1
Changes
1
Hide whitespace changes
Inline
Side-by-side
test/tests.jl
View file @
c7a5d448
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment