From f4b4195a742575cea794ab854cfbf494fdfb7535 Mon Sep 17 00:00:00 2001 From: Sascha Matzke Date: Sat, 11 Jul 2009 11:14:17 +0200 Subject: [PATCH] added unit-tests to bson vocab --- extra/bson/bson-tests.factor | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 extra/bson/bson-tests.factor diff --git a/extra/bson/bson-tests.factor b/extra/bson/bson-tests.factor new file mode 100644 index 0000000000..e66b9c6ec2 --- /dev/null +++ b/extra/bson/bson-tests.factor @@ -0,0 +1,48 @@ +USING: bson.reader bson.writer byte-arrays io.encodings.binary +io.streams.byte-array tools.test literals calendar kernel math ; + +IN: bson.tests + +: turnaround ( value -- value ) + assoc>bv >byte-array binary [ H{ } stream>assoc ] with-byte-reader ; + +M: timestamp equal? ( obj1 obj2 -- ? ) + [ timestamp>millis ] bi@ = ; + +[ H{ { "a" "a string" } } ] [ H{ { "a" "a string" } } turnaround ] unit-test + +[ H{ { "a" "a string" } { "b" H{ { "a" "a string" } } } } ] +[ H{ { "a" "a string" } { "b" H{ { "a" "a string" } } } } turnaround ] unit-test + +[ H{ { "a list" { 1 2.234 "hello world" } } } ] +[ H{ { "a list" { 1 2.234 "hello world" } } } turnaround ] unit-test + +[ H{ { "a quotation" [ 1 2 + ] } } ] +[ H{ { "a quotation" [ 1 2 + ] } } turnaround ] unit-test + +[ H{ { "a date" T{ timestamp { year 2009 } + { month 7 } + { day 11 } + { hour 11 } + { minute 8 } + { second 40+15437/200000 } + { gmt-offset T{ duration { hour 2 } } } } } } +] +[ H{ { "a date" T{ timestamp { year 2009 } + { month 7 } + { day 11 } + { hour 11 } + { minute 8 } + { second 40+15437/200000 } + { gmt-offset T{ duration { hour 2 } } } } } } turnaround +] unit-test + +[ H{ { "nested" H{ { "a" "a string" } { "b" H{ { "a" "a string" } } } } } + { "array" H{ { "a list" { 1 2.234 "hello world" } } } } + { "quot" [ 1 2 + ] } } +] +[ H{ { "nested" H{ { "a" "a string" } { "b" H{ { "a" "a string" } } } } } + { "array" H{ { "a list" { 1 2.234 "hello world" } } } } + { "quot" [ 1 2 + ] } } turnaround ] unit-test + +