57 lines
1.3 KiB
Factor
57 lines
1.3 KiB
Factor
USING: kernel state-tables tools.test ;
|
|
IN: state-tables.tests
|
|
|
|
: test-table
|
|
<table>
|
|
"a" "c" "z" <entry> over set-entry
|
|
"a" "o" "y" <entry> over set-entry
|
|
"a" "l" "x" <entry> over set-entry
|
|
"b" "o" "y" <entry> over set-entry
|
|
"b" "l" "x" <entry> over set-entry
|
|
"b" "s" "u" <entry> over set-entry ;
|
|
|
|
[
|
|
T{
|
|
table
|
|
f
|
|
H{
|
|
{ "a" H{ { "l" "x" } { "c" "z" } { "o" "y" } } }
|
|
{ "b" H{ { "l" "x" } { "s" "u" } { "o" "y" } } }
|
|
}
|
|
H{ { "l" t } { "s" t } { "c" t } { "o" t } }
|
|
f
|
|
H{ }
|
|
}
|
|
] [ test-table ] unit-test
|
|
|
|
[ "x" t ] [ "a" "l" test-table get-entry ] unit-test
|
|
[ "har" t ] [
|
|
"a" "z" "har" <entry> test-table [ set-entry ] keep
|
|
>r "a" "z" r> get-entry
|
|
] unit-test
|
|
|
|
: vector-test-table
|
|
<vector-table>
|
|
"a" "c" "z" <entry> over add-entry
|
|
"a" "c" "r" <entry> over add-entry
|
|
"a" "o" "y" <entry> over add-entry
|
|
"a" "l" "x" <entry> over add-entry
|
|
"b" "o" "y" <entry> over add-entry
|
|
"b" "l" "x" <entry> over add-entry
|
|
"b" "s" "u" <entry> over add-entry ;
|
|
|
|
[
|
|
T{ vector-table f
|
|
H{
|
|
{ "a"
|
|
H{ { "l" "x" } { "c" V{ "z" "r" } } { "o" "y" } } }
|
|
{ "b"
|
|
H{ { "l" "x" } { "s" "u" } { "o" "y" } } }
|
|
}
|
|
H{ { "l" t } { "s" t } { "c" t } { "o" t } }
|
|
f
|
|
H{ }
|
|
}
|
|
] [ vector-test-table ] unit-test
|
|
|