]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/linked-assocs/linked-assocs-tests.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / basis / linked-assocs / linked-assocs-tests.factor
index 3ac590041b43d700c2a2188844eb2e174abc91f7..603b04e895e0d6df74e15cb5180b86f3cc58dde8 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2008 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel sequences assocs tools.test linked-assocs ;
+USING: kernel sequences assocs tools.test linked-assocs math ;
 IN: linked-assocs.test
 
 { { 1 2 3 } } [
@@ -17,10 +17,49 @@ IN: linked-assocs.test
     "c" swap at*
 ] unit-test
 
-{ { 2 3 4 } { "c" "a" "d" } } [
+{ { 2 3 4 } { "c" "a" "d" } } [
     <linked-hash> 1 "a" pick set-at
                   2 "c" pick set-at
                   3 "a" pick set-at
                   4 "d" pick set-at
-    [ values ] [ keys ] bi 
-] unit-test 
\ No newline at end of file
+    [ values ] [ keys ] [ assoc-size ] tri
+] unit-test 
+
+{ f 1 } [
+    <linked-hash> 1 "c" pick set-at
+                  2 "b" pick set-at
+    "c" over delete-at
+    "c" over at swap assoc-size
+] unit-test 
+
+{ { } 0 } [
+    <linked-hash> 1 "a" pick set-at
+                  2 "c" pick set-at
+                  3 "a" pick set-at
+                  4 "d" pick set-at
+    dup clear-assoc [ keys ] [ assoc-size ] bi
+] unit-test
+
+{ { } { 1 2 3 } } [
+    <linked-hash> dup clone
+    1 "c" pick set-at
+    2 "q" pick set-at
+    3 "a" pick set-at
+    [ values ] bi@
+] unit-test
+
+{ 9 } [
+    <linked-hash>
+    { [ 3 * ] [ 1 - ] }          "first"   pick set-at
+    { [ [ 1 - ] bi@ ] [ 2 / ] }  "second"  pick set-at
+    4 6 pick values [ first call ] each
+    + swap values <reversed> [ second call ] each
+] unit-test
+
+{ V{ { "az" 1 } { "by" 2 } { "cx" 3 } } } [
+    <linked-hash>
+    1 "az" pick set-at
+    2 "by" pick set-at
+    3 "cx" pick set-at
+    >alist
+] unit-test