]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/assocs/extras/extras-tests.factor
assocs.extras: go nuts on the crazy assoc words.
[factor.git] / extra / assocs / extras / extras-tests.factor
index 05c7ca8251f6640502f105475b60d69582010b3f..3034a01784382694f81252b7c4b0e1f55a64c4c7 100644 (file)
@@ -1,5 +1,4 @@
-
-USING: assocs.extras kernel sequences tools.test ;
+USING: assocs.extras kernel math sequences tools.test ;
 
 { f } [ f { } deep-at ] unit-test
 { f } [ f { "foo" } deep-at ] unit-test
@@ -18,3 +17,41 @@ USING: assocs.extras kernel sequences tools.test ;
 
 { H{ } } [ H{ { 1 2 } } 2 over delete-value-at ] unit-test
 { H{ { 1 2 } } } [ H{ { 1 2 } } 3 over delete-value-at ] unit-test
+
+{
+    H{ { 1 3 } { 2 3 } }
+} [
+    {
+        { { 1 2 } 3 }
+    } expand-keys-set-at
+] unit-test
+
+{
+    H{ { 3 4 } }
+} [
+    {
+        { 3 { 1 2 } } { 3 4 }
+    } expand-values-set-at
+] unit-test
+
+{
+    H{ { 1 V{ 3 } } { 2 V{ 3 } } }
+} [
+    {
+        { { 1 2 } 3 }
+    } expand-keys-push-at
+] unit-test
+
+{
+    H{ { 3 V{ 1 2 4 } } }
+} [
+    {
+        { 3 { 1 2 } } { 3 4 }
+    } expand-values-push-at
+] unit-test
+
+{
+    H{ { 1 [ sq ] } { 2 [ sq ] } }
+} [
+    { { { 1 2 { 1 } { 2 } { 1 1 } } [ sq ] } } flatten-keys
+] unit-test
\ No newline at end of file