aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test
diff options
context:
space:
mode:
authorEduardo Julian2019-04-06 23:11:20 -0400
committerEduardo Julian2019-04-06 23:11:20 -0400
commit2a05d8f3711d2e1b6fcccd9a2869478197386a7f (patch)
tree12206ff1f282943225b795334e38c0ac1e935e77 /stdlib/source/test
parenta75f032ff219fdd639580455a6d3e83fd05d5592 (diff)
Moved "lux/cli", "lux/io" and "lux/function" under "lux/control".
Diffstat (limited to 'stdlib/source/test')
-rw-r--r--stdlib/source/test/lux.lux18
-rw-r--r--stdlib/source/test/lux/abstract/apply.lux3
-rw-r--r--stdlib/source/test/lux/abstract/enum.lux3
-rw-r--r--stdlib/source/test/lux/abstract/functor.lux3
-rw-r--r--stdlib/source/test/lux/abstract/monad.lux3
-rw-r--r--stdlib/source/test/lux/abstract/monoid.lux5
-rw-r--r--stdlib/source/test/lux/control.lux7
-rw-r--r--stdlib/source/test/lux/control/cli.lux (renamed from stdlib/source/test/lux/cli.lux)0
-rw-r--r--stdlib/source/test/lux/control/concurrency/actor.lux8
-rw-r--r--stdlib/source/test/lux/control/concurrency/atom.lux5
-rw-r--r--stdlib/source/test/lux/control/concurrency/frp.lux10
-rw-r--r--stdlib/source/test/lux/control/concurrency/promise.lux4
-rw-r--r--stdlib/source/test/lux/control/concurrency/semaphore.lux2
-rw-r--r--stdlib/source/test/lux/control/concurrency/stm.lux14
-rw-r--r--stdlib/source/test/lux/control/io.lux (renamed from stdlib/source/test/lux/io.lux)7
-rw-r--r--stdlib/source/test/lux/control/reader.lux7
-rw-r--r--stdlib/source/test/lux/control/region.lux8
-rw-r--r--stdlib/source/test/lux/control/state.lux4
-rw-r--r--stdlib/source/test/lux/control/writer.lux3
-rw-r--r--stdlib/source/test/lux/data/bit.lux5
-rw-r--r--stdlib/source/test/lux/data/collection/bits.lux4
-rw-r--r--stdlib/source/test/lux/data/collection/list.lux4
-rw-r--r--stdlib/source/test/lux/data/error.lux4
-rw-r--r--stdlib/source/test/lux/data/maybe.lux2
-rw-r--r--stdlib/source/test/lux/host/jvm.jvm.lux2
-rw-r--r--stdlib/source/test/lux/math.lux117
-rw-r--r--stdlib/source/test/lux/math/infix.lux2
-rw-r--r--stdlib/source/test/lux/type/resource.lux3
-rw-r--r--stdlib/source/test/lux/world/file.lux2
-rw-r--r--stdlib/source/test/lux/world/net/tcp.lux2
-rw-r--r--stdlib/source/test/lux/world/net/udp.lux2
31 files changed, 138 insertions, 125 deletions
diff --git a/stdlib/source/test/lux.lux b/stdlib/source/test/lux.lux
index 5b45d6e5e..42f4c9f81 100644
--- a/stdlib/source/test/lux.lux
+++ b/stdlib/source/test/lux.lux
@@ -10,15 +10,16 @@
[host (#+)]])]
(.module:
["/" lux #*
- [cli (#+ program:)]
- ["." io (#+ io)]
[abstract
[monad (#+ do)]
[predicate (#+ Predicate)]]
+ [control
+ [cli (#+ program:)]
+ ["." io (#+ io)]
+ ["." function]]
[data
[number
["." i64]]]
- ["." function]
["." math]
["_" test (#+ Test)]
## These modules do not need to be tested.
@@ -110,8 +111,6 @@
]
## TODO: Must have 100% coverage on tests.
["." / #_
- ["#." cli]
- ["#." io]
["#." abstract]
["#." control]
["#." data]
@@ -353,8 +352,6 @@
..templates)
(<| (_.context "Cross-platform support.")
..cross-platform-support)
- /cli.test
- /io.test
(<| (_.context "/abstract")
/abstract.test)
(<| (_.context "/control")
@@ -362,16 +359,15 @@
(<| (_.context "/data")
/data.test)
/macro.test
- (<| (_.context "/math")
- /math.test)
+ /math.test
(<| (_.context "/time")
/time.test)
/type.test
/world.test
- (<| (_.context "/host Host-platform interoperation")
+ (<| (_.context "/host")
($_ _.and
/host.test
- (<| (_.context "/jvm JVM (Java Virtual Machine)")
+ (<| (_.context "/jvm")
/host/jvm.test)))
)))
diff --git a/stdlib/source/test/lux/abstract/apply.lux b/stdlib/source/test/lux/abstract/apply.lux
index a269810bb..6b3ea631f 100644
--- a/stdlib/source/test/lux/abstract/apply.lux
+++ b/stdlib/source/test/lux/abstract/apply.lux
@@ -4,7 +4,8 @@
[data
[text
format]]
- ["." function]
+ [control
+ ["." function]]
[math
["r" random]]
["_" test (#+ Test)]]
diff --git a/stdlib/source/test/lux/abstract/enum.lux b/stdlib/source/test/lux/abstract/enum.lux
index 63bbf97ad..b0498dc09 100644
--- a/stdlib/source/test/lux/abstract/enum.lux
+++ b/stdlib/source/test/lux/abstract/enum.lux
@@ -2,7 +2,8 @@
[lux #*
data/text/format
["_" test (#+ Test)]
- ["." function]
+ [control
+ ["." function]]
[abstract/monad (#+ do)]
[math
["r" random (#+ Random)]]]
diff --git a/stdlib/source/test/lux/abstract/functor.lux b/stdlib/source/test/lux/abstract/functor.lux
index cf3538575..77a07233b 100644
--- a/stdlib/source/test/lux/abstract/functor.lux
+++ b/stdlib/source/test/lux/abstract/functor.lux
@@ -6,7 +6,8 @@
[abstract
[equivalence (#+ Equivalence)]
[monad (#+ do)]]
- ["." function]]
+ [control
+ ["." function]]]
{1
["." / (#+ Functor)]})
diff --git a/stdlib/source/test/lux/abstract/monad.lux b/stdlib/source/test/lux/abstract/monad.lux
index 4382a260d..827a1e509 100644
--- a/stdlib/source/test/lux/abstract/monad.lux
+++ b/stdlib/source/test/lux/abstract/monad.lux
@@ -3,7 +3,8 @@
[data
[text
format]]
- ["." function]
+ [control
+ ["." function]]
[math
["r" random]]
["_" test (#+ Test)]]
diff --git a/stdlib/source/test/lux/abstract/monoid.lux b/stdlib/source/test/lux/abstract/monoid.lux
index b526c3e58..3600795ff 100644
--- a/stdlib/source/test/lux/abstract/monoid.lux
+++ b/stdlib/source/test/lux/abstract/monoid.lux
@@ -2,10 +2,11 @@
[lux #*
data/text/format
["_" test (#+ Test)]
- ["." function]
[abstract/monad (#+ do)]
[math
- ["r" random (#+ Random)]]]
+ ["r" random (#+ Random)]]
+ [control
+ ["." function]]]
{1
["." / (#+ Monoid)
[//
diff --git a/stdlib/source/test/lux/control.lux b/stdlib/source/test/lux/control.lux
index 341a119fe..9d95dc969 100644
--- a/stdlib/source/test/lux/control.lux
+++ b/stdlib/source/test/lux/control.lux
@@ -2,8 +2,10 @@
[lux #*
["_" test (#+ Test)]]
["." / #_
+ ["#." cli]
["#." continuation]
["#." exception]
+ ["#." io]
["#." parser]
["#." pipe]
["#." reader]
@@ -19,7 +21,8 @@
["#." stm]]
[security
["#." privacy]
- ["#." integrity]]])
+ ["#." integrity]]
+ ])
(def: concurrency
Test
@@ -41,8 +44,10 @@
(def: #export test
Test
($_ _.and
+ /cli.test
/continuation.test
/exception.test
+ /io.test
/parser.test
(<| (_.context "/pipe")
/pipe.test)
diff --git a/stdlib/source/test/lux/cli.lux b/stdlib/source/test/lux/control/cli.lux
index ff7a3abb3..ff7a3abb3 100644
--- a/stdlib/source/test/lux/cli.lux
+++ b/stdlib/source/test/lux/control/cli.lux
diff --git a/stdlib/source/test/lux/control/concurrency/actor.lux b/stdlib/source/test/lux/control/concurrency/actor.lux
index eff4d051d..a39f7b039 100644
--- a/stdlib/source/test/lux/control/concurrency/actor.lux
+++ b/stdlib/source/test/lux/control/concurrency/actor.lux
@@ -1,12 +1,10 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io (#+ IO io)]
[abstract/monad (#+ do)]
[control
["ex" exception]
- [concurrency
- ["." promise ("#;." monad)]]]
+ ["." io (#+ IO io)]]
[data
["." error]
[text
@@ -14,7 +12,9 @@
[math
["r" random]]]
{1
- ["." / (#+ actor: message:)]})
+ ["." / (#+ actor: message:)
+ [//
+ ["." promise ("#;." monad)]]]})
(actor: Counter
Nat
diff --git a/stdlib/source/test/lux/control/concurrency/atom.lux b/stdlib/source/test/lux/control/concurrency/atom.lux
index 455f8b00d..63f9ec296 100644
--- a/stdlib/source/test/lux/control/concurrency/atom.lux
+++ b/stdlib/source/test/lux/control/concurrency/atom.lux
@@ -1,11 +1,12 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io]
[abstract/monad (#+ do)]
data/text/format
[math
- ["r" random]]]
+ ["r" random]]
+ [control
+ ["." io]]]
{1
["." /]})
diff --git a/stdlib/source/test/lux/control/concurrency/frp.lux b/stdlib/source/test/lux/control/concurrency/frp.lux
index 7ac79b465..f9cea5737 100644
--- a/stdlib/source/test/lux/control/concurrency/frp.lux
+++ b/stdlib/source/test/lux/control/concurrency/frp.lux
@@ -1,12 +1,9 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io (#+ IO io)]
[abstract/monad (#+ do)]
[control
- [concurrency
- ["." promise ("#@." monad)]
- ["." atom (#+ Atom atom)]]]
+ ["." io (#+ IO io)]]
[data
[number
["." nat]]
@@ -15,7 +12,10 @@
[math
["r" random]]]
{1
- ["." / (#+ Channel)]})
+ ["." / (#+ Channel)
+ [//
+ ["." promise ("#@." monad)]
+ ["." atom (#+ Atom atom)]]]})
(def: #export test
Test
diff --git a/stdlib/source/test/lux/control/concurrency/promise.lux b/stdlib/source/test/lux/control/concurrency/promise.lux
index 5a49f26fe..5a4a41adb 100644
--- a/stdlib/source/test/lux/control/concurrency/promise.lux
+++ b/stdlib/source/test/lux/control/concurrency/promise.lux
@@ -1,10 +1,10 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io]
[abstract/monad (#+ do)]
[control
- pipe]
+ pipe
+ ["." io]]
data/text/format
[math
["r" random]]]
diff --git a/stdlib/source/test/lux/control/concurrency/semaphore.lux b/stdlib/source/test/lux/control/concurrency/semaphore.lux
index 40bd81364..369bc8507 100644
--- a/stdlib/source/test/lux/control/concurrency/semaphore.lux
+++ b/stdlib/source/test/lux/control/concurrency/semaphore.lux
@@ -3,6 +3,7 @@
[abstract
["." monad (#+ do)]]
[control
+ ["." io]
[concurrency
["/" semaphore]
["." promise (#+ Promise)]
@@ -13,7 +14,6 @@
format]
[collection
["." list ("#;." functor)]]]
- ["." io]
[math
["r" random]]]
lux/test)
diff --git a/stdlib/source/test/lux/control/concurrency/stm.lux b/stdlib/source/test/lux/control/concurrency/stm.lux
index 9e3b9290c..6b9a65a55 100644
--- a/stdlib/source/test/lux/control/concurrency/stm.lux
+++ b/stdlib/source/test/lux/control/concurrency/stm.lux
@@ -1,14 +1,9 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io (#+ IO)]
["M" abstract/monad (#+ do Monad)]
[control
- [concurrency
- ["." atom (#+ Atom atom)]
- ["." process]
- ["." promise]
- ["." frp (#+ Channel)]]]
+ ["." io (#+ IO)]]
[data
text/format
[number
@@ -18,7 +13,12 @@
[math
["r" random]]]
{1
- ["." /]})
+ ["." /
+ [//
+ ["." atom (#+ Atom atom)]
+ ["." process]
+ ["." promise]
+ ["." frp (#+ Channel)]]]})
(def: (read! channel)
(All [a] (-> (Channel a) (IO (Atom (List a)))))
diff --git a/stdlib/source/test/lux/io.lux b/stdlib/source/test/lux/control/io.lux
index 3b00ceb3f..1a14558b2 100644
--- a/stdlib/source/test/lux/io.lux
+++ b/stdlib/source/test/lux/control/io.lux
@@ -9,10 +9,11 @@
[/
["$." functor (#+ Injection Comparison)]
["$." apply]
- ["$." monad]]}]
- ["." function]]
+ ["$." monad]]}]]
{1
- ["." / (#+ IO)]})
+ ["." / (#+ IO)
+ [//
+ ["." function]]]})
(def: injection
(Injection IO)
diff --git a/stdlib/source/test/lux/control/reader.lux b/stdlib/source/test/lux/control/reader.lux
index aa639ce70..94aacdb5d 100644
--- a/stdlib/source/test/lux/control/reader.lux
+++ b/stdlib/source/test/lux/control/reader.lux
@@ -1,6 +1,5 @@
(.module:
[lux #*
- ["." io (#+ IO)]
["_" test (#+ Test)]
[abstract
[monad (#+ do)]
@@ -15,7 +14,9 @@
[math
["r" random]]]
{1
- ["." / (#+ Reader)]})
+ ["." / (#+ Reader)
+ [//
+ ["." io (#+ IO)]]]})
(def: (injection value)
(Injection (All [a r] (Reader r a)))
@@ -29,7 +30,7 @@
(def: #export test
Test
- (<| (_.context (%name (name-of /.Reader)))
+ (<| (_.context (%name (name-of /._)))
(do r.monad
[sample r.nat
factor r.nat]
diff --git a/stdlib/source/test/lux/control/region.lux b/stdlib/source/test/lux/control/region.lux
index a575e4250..57ed91c1a 100644
--- a/stdlib/source/test/lux/control/region.lux
+++ b/stdlib/source/test/lux/control/region.lux
@@ -3,9 +3,6 @@
["_" test (#+ Test)]
[abstract
["." monad (#+ do)]]
- [control
- ["." thread (#+ Thread)]
- ["ex" exception (#+ exception:)]]
[data
["." error (#+ Error)]
[text
@@ -15,7 +12,10 @@
[math
["r" random]]]
{1
- ["." /]})
+ ["." /
+ [//
+ ["." thread (#+ Thread)]
+ ["ex" exception (#+ exception:)]]]})
(exception: oops)
diff --git a/stdlib/source/test/lux/control/state.lux b/stdlib/source/test/lux/control/state.lux
index 808d5ebb2..96f9e9d34 100644
--- a/stdlib/source/test/lux/control/state.lux
+++ b/stdlib/source/test/lux/control/state.lux
@@ -1,7 +1,6 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io]
[abstract
[monad (#+ do)]
{[0 #test]
@@ -10,7 +9,8 @@
["$." apply]
["$." monad]]}]
[control
- [pipe (#+ let>)]]
+ [pipe (#+ let>)]
+ ["." io]]
[data
["." product]
[text
diff --git a/stdlib/source/test/lux/control/writer.lux b/stdlib/source/test/lux/control/writer.lux
index 392fc7a4b..a95384fef 100644
--- a/stdlib/source/test/lux/control/writer.lux
+++ b/stdlib/source/test/lux/control/writer.lux
@@ -1,7 +1,6 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io]
[abstract
[equivalence (#+ Equivalence)]
[monoid (#+ Monoid)]
@@ -11,6 +10,8 @@
["$." functor (#+ Injection Comparison)]
["$." apply]
["$." monad]]}]
+ [control
+ ["." io]]
[data
["." product]
["." text ("#;." equivalence)
diff --git a/stdlib/source/test/lux/data/bit.lux b/stdlib/source/test/lux/data/bit.lux
index 9515fa5ce..eebca5f2a 100644
--- a/stdlib/source/test/lux/data/bit.lux
+++ b/stdlib/source/test/lux/data/bit.lux
@@ -3,14 +3,15 @@
data/text/format
["_" test (#+ Test)]
["r" math/random]
- ["." function]
[abstract
[monad (#+ do)]
{[0 #test]
[/
["$." equivalence]
["$." monoid]
- ["$." codec]]}]]
+ ["$." codec]]}]
+ [control
+ ["." function]]]
{1
["." /]})
diff --git a/stdlib/source/test/lux/data/collection/bits.lux b/stdlib/source/test/lux/data/collection/bits.lux
index a727761ca..4b9743912 100644
--- a/stdlib/source/test/lux/data/collection/bits.lux
+++ b/stdlib/source/test/lux/data/collection/bits.lux
@@ -27,7 +27,7 @@
(def: #export test
Test
- (<| (_.context (%name (name-of /.Bits)))
+ (<| (_.context (%name (name-of /._)))
($_ _.and
($equivalence.spec /.equivalence ..bits)
(do r.monad
@@ -47,7 +47,7 @@
(and (n/= 0 (/.capacity /.empty))
(|> /.empty (/.set idx) /.capacity
(n/- idx)
- (predicate.union (n/>= 0)
+ (predicate.unite (n/>= 0)
(n/< /.chunk-size)))))
(_.test "Bits (must) shrink when (and as much as) possible."
(let [grown (/.flip idx /.empty)]
diff --git a/stdlib/source/test/lux/data/collection/list.lux b/stdlib/source/test/lux/data/collection/list.lux
index 247b2de78..fb97c3d32 100644
--- a/stdlib/source/test/lux/data/collection/list.lux
+++ b/stdlib/source/test/lux/data/collection/list.lux
@@ -2,7 +2,6 @@
[lux #*
data/text/format
["_" test (#+ Test)]
- ["." io]
[abstract
[monad (#+ do)]
{[0 #test]
@@ -14,7 +13,8 @@
["$." apply]
["$." monad]]}]
[control
- pipe]
+ pipe
+ ["." io]]
[data
["." bit]
["." product]
diff --git a/stdlib/source/test/lux/data/error.lux b/stdlib/source/test/lux/data/error.lux
index 8f89ccb8f..f65128ec3 100644
--- a/stdlib/source/test/lux/data/error.lux
+++ b/stdlib/source/test/lux/data/error.lux
@@ -1,7 +1,6 @@
(.module:
[lux #*
["_" test (#+ Test)]
- ["." io]
[abstract
[monad (#+ do Monad)]
{[0 #test]
@@ -11,7 +10,8 @@
["$." monad]
["$." equivalence]]}]
[control
- pipe]
+ pipe
+ ["." io]]
[data
text/format
[number
diff --git a/stdlib/source/test/lux/data/maybe.lux b/stdlib/source/test/lux/data/maybe.lux
index dc6ca1d56..a92141bd9 100644
--- a/stdlib/source/test/lux/data/maybe.lux
+++ b/stdlib/source/test/lux/data/maybe.lux
@@ -10,13 +10,13 @@
["$." apply]
["$." monad]]}]
[control
+ ["." io ("#@." monad)]
pipe]
[data
["." text
format]
[number
["." nat]]]
- ["." io ("#@." monad)]
[math
["r" random (#+ Random)]]]
{1
diff --git a/stdlib/source/test/lux/host/jvm.jvm.lux b/stdlib/source/test/lux/host/jvm.jvm.lux
index 16c4aea90..47c6f35d9 100644
--- a/stdlib/source/test/lux/host/jvm.jvm.lux
+++ b/stdlib/source/test/lux/host/jvm.jvm.lux
@@ -2,6 +2,7 @@
[lux #*
[abstract/monad (#+ do)]
[control
+ ["." io (#+ IO)]
[concurrency
["." atom]]
[security
@@ -15,7 +16,6 @@
[collection
["." dictionary]
["." row]]]
- ["." io (#+ IO)]
[world
["." file (#+ File)]
[binary (#+ Binary)]]
diff --git a/stdlib/source/test/lux/math.lux b/stdlib/source/test/lux/math.lux
index fcd4a1134..c11380015 100644
--- a/stdlib/source/test/lux/math.lux
+++ b/stdlib/source/test/lux/math.lux
@@ -31,63 +31,64 @@
(def: #export test
Test
- ($_ _.and
- (<| (_.context "Trigonometry")
- (do r.monad
- [angle (|> r.safe-frac (:: @ map (f/* /.tau)))]
- ($_ _.and
- (_.test "Sine and arc-sine are inverse functions."
- (trigonometric-symmetry /.sin /.asin angle))
- (_.test "Cosine and arc-cosine are inverse functions."
- (trigonometric-symmetry /.cos /.acos angle))
- (_.test "Tangent and arc-tangent are inverse functions."
- (trigonometric-symmetry /.tan /.atan angle))
- )))
- (<| (_.context "Rounding")
- (do r.monad
- [sample (|> r.safe-frac (:: @ map (f/* +1000.0)))]
- ($_ _.and
- (_.test "The ceiling will be an integer value, and will be >= the original."
- (let [ceil'd (/.ceil sample)]
- (and (|> ceil'd frac-to-int int-to-frac (f/= ceil'd))
- (f/>= sample ceil'd)
- (f/<= +1.0 (f/- sample ceil'd)))))
- (_.test "The floor will be an integer value, and will be <= the original."
- (let [floor'd (/.floor sample)]
- (and (|> floor'd frac-to-int int-to-frac (f/= floor'd))
- (f/<= sample floor'd)
- (f/<= +1.0 (f/- floor'd sample)))))
- (_.test "The round will be an integer value, and will be < or > or = the original."
- (let [round'd (/.round sample)]
- (and (|> round'd frac-to-int int-to-frac (f/= round'd))
- (f/<= +1.0 (frac@abs (f/- sample round'd))))))
- )))
- (<| (_.context "Exponentials and logarithms")
- (do r.monad
- [sample (|> r.safe-frac (:: @ map (f/* +10.0)))]
- (_.test "Logarithm is the inverse of exponential."
- (|> sample /.exp /.log (within? +1.0e-15 sample)))))
- (<| (_.context "Greatest-Common-Divisor and Least-Common-Multiple")
- (do r.monad
- [#let [gen-nat (|> r.nat (:: @ map (|>> (n/% 1000) (n/max 1))))]
- x gen-nat
- y gen-nat]
- ($_ _.and
- (_.test "GCD"
- (let [gcd (/.n/gcd x y)]
- (and (n/= 0 (n/% gcd x))
- (n/= 0 (n/% gcd y))
- (n/>= 1 gcd))))
+ (<| (_.context (%name (name-of /._)))
+ ($_ _.and
+ (<| (_.context "Trigonometry")
+ (do r.monad
+ [angle (|> r.safe-frac (:: @ map (f/* /.tau)))]
+ ($_ _.and
+ (_.test "Sine and arc-sine are inverse functions."
+ (trigonometric-symmetry /.sin /.asin angle))
+ (_.test "Cosine and arc-cosine are inverse functions."
+ (trigonometric-symmetry /.cos /.acos angle))
+ (_.test "Tangent and arc-tangent are inverse functions."
+ (trigonometric-symmetry /.tan /.atan angle))
+ )))
+ (<| (_.context "Rounding")
+ (do r.monad
+ [sample (|> r.safe-frac (:: @ map (f/* +1000.0)))]
+ ($_ _.and
+ (_.test "The ceiling will be an integer value, and will be >= the original."
+ (let [ceil'd (/.ceil sample)]
+ (and (|> ceil'd frac-to-int int-to-frac (f/= ceil'd))
+ (f/>= sample ceil'd)
+ (f/<= +1.0 (f/- sample ceil'd)))))
+ (_.test "The floor will be an integer value, and will be <= the original."
+ (let [floor'd (/.floor sample)]
+ (and (|> floor'd frac-to-int int-to-frac (f/= floor'd))
+ (f/<= sample floor'd)
+ (f/<= +1.0 (f/- floor'd sample)))))
+ (_.test "The round will be an integer value, and will be < or > or = the original."
+ (let [round'd (/.round sample)]
+ (and (|> round'd frac-to-int int-to-frac (f/= round'd))
+ (f/<= +1.0 (frac@abs (f/- sample round'd))))))
+ )))
+ (<| (_.context "Exponentials and logarithms")
+ (do r.monad
+ [sample (|> r.safe-frac (:: @ map (f/* +10.0)))]
+ (_.test "Logarithm is the inverse of exponential."
+ (|> sample /.exp /.log (within? +1.0e-15 sample)))))
+ (<| (_.context "Greatest-Common-Divisor and Least-Common-Multiple")
+ (do r.monad
+ [#let [gen-nat (|> r.nat (:: @ map (|>> (n/% 1000) (n/max 1))))]
+ x gen-nat
+ y gen-nat]
+ ($_ _.and
+ (_.test "GCD"
+ (let [gcd (/.n/gcd x y)]
+ (and (n/= 0 (n/% gcd x))
+ (n/= 0 (n/% gcd y))
+ (n/>= 1 gcd))))
- (_.test "LCM"
- (let [lcm (/.n/lcm x y)]
- (and (n/= 0 (n/% x lcm))
- (n/= 0 (n/% y lcm))
- (n/<= (n/* x y) lcm))))
- )))
+ (_.test "LCM"
+ (let [lcm (/.n/lcm x y)]
+ (and (n/= 0 (n/% x lcm))
+ (n/= 0 (n/% y lcm))
+ (n/<= (n/* x y) lcm))))
+ )))
- /infix.test
- /modular.test
- /logic/continuous.test
- /logic/fuzzy.test
- ))
+ /infix.test
+ /modular.test
+ /logic/continuous.test
+ /logic/fuzzy.test
+ )))
diff --git a/stdlib/source/test/lux/math/infix.lux b/stdlib/source/test/lux/math/infix.lux
index db40f693c..5224700a5 100644
--- a/stdlib/source/test/lux/math/infix.lux
+++ b/stdlib/source/test/lux/math/infix.lux
@@ -12,7 +12,7 @@
(def: #export test
Test
- (<| (_.context (%name (name-of /.infix)))
+ (<| (_.context (%name (name-of /._)))
(do r.monad
[subject r.nat
parameter r.nat
diff --git a/stdlib/source/test/lux/type/resource.lux b/stdlib/source/test/lux/type/resource.lux
index 293629e18..92b085e6a 100644
--- a/stdlib/source/test/lux/type/resource.lux
+++ b/stdlib/source/test/lux/type/resource.lux
@@ -6,7 +6,8 @@
[abstract
[monad
[indexed (#+ do)]]]
- ["." io]]
+ [control
+ ["." io]]]
{1
["." / (#+ Res)]})
diff --git a/stdlib/source/test/lux/world/file.lux b/stdlib/source/test/lux/world/file.lux
index 86b031660..b72e8be82 100644
--- a/stdlib/source/test/lux/world/file.lux
+++ b/stdlib/source/test/lux/world/file.lux
@@ -5,11 +5,11 @@
["_" test (#+ Test)]
[abstract/monad (#+ do)]
[control
+ ["." io (#+ IO)]
[concurrency
["." promise]]
[security
["!" capability]]]
- ["." io (#+ IO)]
[data
["." error (#+ Error)]
["." text]
diff --git a/stdlib/source/test/lux/world/net/tcp.lux b/stdlib/source/test/lux/world/net/tcp.lux
index b3f9a6d0d..fb4983302 100644
--- a/stdlib/source/test/lux/world/net/tcp.lux
+++ b/stdlib/source/test/lux/world/net/tcp.lux
@@ -4,9 +4,9 @@
["r" math/random (#+ Random)]
["_" test (#+ Test)]
["." abstract/monad (#+ do)]
- ["." io (#+ IO)]
[control
["ex" exception (#+ exception:)]
+ ["." io (#+ IO)]
[concurrency
["." promise (#+ Promise Resolver)]
["." frp ("#@." functor)]]
diff --git a/stdlib/source/test/lux/world/net/udp.lux b/stdlib/source/test/lux/world/net/udp.lux
index 2e61257ad..44765acab 100644
--- a/stdlib/source/test/lux/world/net/udp.lux
+++ b/stdlib/source/test/lux/world/net/udp.lux
@@ -5,6 +5,7 @@
["_" test (#+ Test)]
["." abstract/monad (#+ do)]
[control
+ ["." io]
[concurrency
["." promise]]
[security
@@ -12,7 +13,6 @@
[data
["." error]
["." text]]
- ["." io]
[world
["." binary]
["." net]]]