]> gitweb.factorcode.org Git - factor.git/blob - basis/hashtables/identity/identity-tests.factor
a098bcf7c95dfb85ea791da6954842874f2945e9
[factor.git] / basis / hashtables / identity / identity-tests.factor
1 ! (c)2010 Joe Groff bsd license
2 USING: assocs hashtables.identity kernel literals tools.test ;
3 IN: hashtables.identity.tests
4
5 CONSTANT: the-real-slim-shady "marshall mathers"
6
7 CONSTANT: will
8     IH{
9         { $ the-real-slim-shady t }
10         { "marshall mathers"    f }
11     }
12
13 : please-stand-up ( assoc key -- value )
14     of ;
15
16 { t } [ will the-real-slim-shady please-stand-up ] unit-test
17 { t } [ will clone the-real-slim-shady please-stand-up ] unit-test
18
19 { 2 } [ will assoc-size ] unit-test
20 { { { "marshall mathers" f } } } [
21     the-real-slim-shady will clone
22     [ delete-at ] [ >alist ] bi
23 ] unit-test
24 { t } [
25     t the-real-slim-shady identity-associate
26     t the-real-slim-shady identity-associate =
27 ] unit-test
28 { f } [
29     t the-real-slim-shady identity-associate
30     t "marshall mathers"  identity-associate =
31 ] unit-test
32
33 CONSTANT: same-as-it-ever-was "same as it ever was"
34
35 { IH{ { $ same-as-it-ever-was $ same-as-it-ever-was } } }
36 [ H{ { $ same-as-it-ever-was $ same-as-it-ever-was } } IH{ } assoc-like ] unit-test