[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/haskell-tng-mode b3e6c9a 113/385: compilation mode regress
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/haskell-tng-mode b3e6c9a 113/385: compilation mode regression tests vs haskell-mode |
Date: |
Tue, 5 Oct 2021 23:59:12 -0400 (EDT) |
branch: elpa/haskell-tng-mode
commit b3e6c9a6d7aaa089af16829f0d50f1ccd2151e3a
Author: Tseen She <ts33n.sh3@gmail.com>
Commit: Tseen She <ts33n.sh3@gmail.com>
compilation mode regression tests vs haskell-mode
---
Cask | 1 +
haskell-tng-compile.el | 17 +-
haskell-tng-mode.el | 1 +
test/haskell-tng-compile-test.el | 76 +
test/haskell-tng-font-lock-test.el | 7 +-
test/haskell-tng-testutils.el | 22 +-
test/src/ghc-8.4.4-error.compile.faceup | 23 +
test/src/ghc-8.4.4-errorspan.compile | 21 +
test/src/ghc-8.4.4-errorspan.compile.faceup | 21 +
test/src/ghc-8.4.4-warning.compile.faceup | 29 +
test/src/ghc-8.4.4-warningspan.compile | 29 +
test/src/ghc-8.4.4-warningspan.compile.faceup | 29 +
test/src/hspec-failure.compile.faceup | 743 +++++++
test/src/tasty-failure.compile.faceup | 2756 +++++++++++++++++++++++++
14 files changed, 3758 insertions(+), 17 deletions(-)
diff --git a/Cask b/Cask
index 13a428a..7831baf 100644
--- a/Cask
+++ b/Cask
@@ -26,6 +26,7 @@
(development
(depends-on "faceup")
+ (depends-on "haskell-mode") ;; regression testing
(depends-on "ert-runner")
(depends-on "undercover"))
diff --git a/haskell-tng-compile.el b/haskell-tng-compile.el
index 3625f3a..019729a 100644
--- a/haskell-tng-compile.el
+++ b/haskell-tng-compile.el
@@ -14,16 +14,21 @@
(require 'ansi-color)
;; FIXME implement batch compilation
-
;; TODO prettify-symbol rules for home dirs and project dirs, etc
+;; TODO set compilation-directory when opening the file
+;; TODO set compilation-environment to include TASTY envvars
-(defvar haskell-tng-compile:regexp-alist
-)
+(defvar haskell-tng-compile-error-regexp-alist
+ "The `compilation-error-regexp-alist' for `haskell-tng'."
+ nil
+ )
-;;(define-compilation-mode )
+(defun haskell-tng-compile:ansi-color ()
+ (ansi-color-apply-on-region compilation-filter-start (point-max)))
-;; FIXME how to test batch compilation? Canned responses for the errors and
-;; perhaps an interactive call on a small no-dep project, like ffunctor.
+(define-compilation-mode haskell-tng-compilation-mode "haskell-tng-compilation"
+ (add-hook 'compilation-filter-hook
+ 'haskell-tng-compile:ansi-color nil t))
(provide 'haskell-tng-compile)
;;; haskell-tng-compile.el ends here
diff --git a/haskell-tng-mode.el b/haskell-tng-mode.el
index 6c0ce9d..8047f9e 100644
--- a/haskell-tng-mode.el
+++ b/haskell-tng-mode.el
@@ -19,6 +19,7 @@
(require 'haskell-tng-syntax)
(require 'haskell-tng-font-lock)
(require 'haskell-tng-smie)
+(require 'haskell-tng-compile)
(defgroup haskell-tng ()
"Haskell support: The Next Generation."
diff --git a/test/haskell-tng-compile-test.el b/test/haskell-tng-compile-test.el
new file mode 100644
index 0000000..fe0e775
--- /dev/null
+++ b/test/haskell-tng-compile-test.el
@@ -0,0 +1,76 @@
+;;; haskell-tng-compile-test.el --- Tests for compilation mode -*-
lexical-binding: t -*-
+
+;; Copyright (C) 2019 Tseen She
+;; License: GPL 3 or any later version
+
+(require 'ert)
+(require 'dash)
+(require 'faceup)
+
+(require 'haskell-compile)
+
+(require 'haskell-tng-mode)
+(require 'haskell-tng-testutils
+ "test/haskell-tng-testutils.el")
+
+(defun have-expected-errors (file)
+ (with-temp-buffer
+ (let ((output (current-buffer))
+ ;; compilation-mode uses font-lock-face, not face
+ (faceup-default-property 'font-lock-face)
+ ;; maybe add compilation-message ?
+ ;; maybe add overlays ?
+ (faceup-properties '(font-lock-face)))
+ (compilation-start
+ (format "cat %s" file)
+ 'haskell-compilation-mode
+ (lambda (_) output))
+
+ (while compilation-in-progress
+ (sit-for 0.01))
+ (haskell-tng-compile:clean-output)
+
+ ;; (font-lock-fontify-region (point-min) (point-max))
+ ;; (--dotimes (point-max)
+ ;; (let ((p (+ 1 it)))
+ ;; (message "POINT=%s PROPS=%S" p (text-properties-at p))))
+
+ (haskell-tng-testutils:assert-file-contents
+ file
+ output
+ #'buffer-to-faceup-string
+ "faceup"))))
+
+(defun haskell-tng-compile:clean-output ()
+ "Removes timestamps and local file paths"
+ (let ((inhibit-read-only t))
+ (goto-char (point-min))
+ (kill-line 4)
+ (goto-char (point-max))
+ (kill-line -2)))
+
+;; to generate .faceup files, use faceup-view-buffer
+(ert-deftest haskell-tng-compile-errors-file-tests ()
+ (should (have-expected-errors (testdata "src/ghc-8.4.4-error.compile")))
+ (should (have-expected-errors (testdata "src/ghc-8.4.4-errorspan.compile"))))
+
+(ert-deftest haskell-tng-compile-warnings-file-tests ()
+ (should (have-expected-errors (testdata "src/ghc-8.4.4-warning.compile")))
+ (should (have-expected-errors (testdata
"src/ghc-8.4.4-warningspan.compile"))))
+
+(ert-deftest haskell-tng-compile-hspec-file-tests ()
+ (should (have-expected-errors (testdata "src/hspec-failure.compile"))))
+
+(ert-deftest haskell-tng-compile-tasty-file-tests ()
+ ;; TODO assert on ansi colours, implemented with overlays
+ ;;
+ ;; There is an overlay here:
+ ;; From 11527 to 11714
+ ;; face (foreground-color . "red3")
+ ;; insert-behind-hooks (ansi-color-freeze-overlay)
+ ;; modification-hooks (ansi-color-freeze-overlay)
+ ;; There are text properties here:
+ ;; fontified t
+ (should (have-expected-errors (testdata "src/tasty-failure.compile"))))
+
+;;; haskell-tng-compile-test.el ends here
diff --git a/test/haskell-tng-font-lock-test.el
b/test/haskell-tng-font-lock-test.el
index e4af4b9..0f4267b 100644
--- a/test/haskell-tng-font-lock-test.el
+++ b/test/haskell-tng-font-lock-test.el
@@ -10,16 +10,11 @@
(require 'haskell-tng-testutils
"test/haskell-tng-testutils.el")
-;; Not using `faceup-defexplainer' because it doesn't write over files.
-(defun haskell-tng-font-lock-test:parse-to-string ()
- (font-lock-fontify-region (point-min) (point-max))
- (faceup-markup-buffer))
-
(defun have-expected-faces (file)
(haskell-tng-testutils:assert-file-contents
file
#'haskell-tng-mode
- #'haskell-tng-font-lock-test:parse-to-string
+ #'buffer-to-faceup-string
"faceup"))
;; to generate .faceup files, use faceup-view-buffer
diff --git a/test/haskell-tng-testutils.el b/test/haskell-tng-testutils.el
index e2546b5..d4371ce 100644
--- a/test/haskell-tng-testutils.el
+++ b/test/haskell-tng-testutils.el
@@ -19,16 +19,23 @@
(file mode to-string suffix)
"For FILE, enable MODE and run TO-STRING and compare with the golden data in
FILE.SUFFIX.
-Will fail and write out the expected version to FILE.SUFFIX."
+Will fail and write out the expected version to FILE.SUFFIX.
+
+Alternatively, if MODE is a buffer object, run TO-STRING there instead."
(let* ((golden (concat file "." suffix))
(expected (with-temp-buffer
(when (file-exists-p golden)
(insert-file-contents golden))
(buffer-string)))
- (got (with-temp-buffer
- (insert-file-contents file)
- (funcall mode)
- (funcall to-string))))
+ (got (cond
+ ((bufferp mode)
+ (with-current-buffer mode
+ (funcall to-string)))
+ (t
+ (with-temp-buffer
+ (insert-file-contents file)
+ (funcall mode)
+ (funcall to-string))))))
(or (equal got expected)
;; writes out the new version on failure
(progn
@@ -48,5 +55,10 @@ Will fail and write out the expected version to FILE.SUFFIX."
(looking-back "-" 1)))
)
+;; Not using `faceup-defexplainer' because it doesn't write over files.
+(defun buffer-to-faceup-string ()
+ (font-lock-fontify-region (point-min) (point-max))
+ (faceup-markup-buffer))
+
(provide 'haskell-tng-testutils)
;;; haskell-tng-testutils.el ends here
diff --git a/test/src/ghc-8.4.4-error.compile.faceup
b/test/src/ghc-8.4.4-error.compile.faceup
new file mode 100644
index 0000000..030818c
--- /dev/null
+++ b/test/src/ghc-8.4.4-error.compile.faceup
@@ -0,0 +1,23 @@
+Resolving dependencies...
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - stackage-to-hackage-1.1.0 (lib) (first run)
+ - stackage-to-hackage-1.1.0 (exe:stackage-to-hackage) (first run)
+ - stack2cabal-1.0.2 (exe:stack2cabal) (first run)
+Configuring library for stackage-to-hackage-1.1.0..
+Preprocessing library for stackage-to-hackage-1.1.0..
+Building library for stackage-to-hackage-1.1.0..
+[1 of 2] Compiling StackageToHackage.Stackage (
lib/StackageToHackage/Stackage.hs,
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Stackage.o
)
+[2 of 2] Compiling StackageToHackage.Hackage (
lib/StackageToHackage/Hackage.hs,
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Hackage.o
)
+
+«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»:«:compilation-line-number:33»:«:compilation-column-number:16»:»
error:
+ parse error on input ‘=’
+ Perhaps you need a 'let' in a 'do' block?
+ e.g. 'let x = 5' instead of 'x = 5'
+ |
+33 | resolver = sconcat resolvers
+ | ^
+cabal: Failed to build stackage-to-hackage-1.1.0 (which is required by
+exe:stackage-to-hackage from stackage-to-hackage-1.1.0 and exe:stack2cabal
+from stack2cabal-1.0.2).
+
diff --git a/test/src/ghc-8.4.4-errorspan.compile
b/test/src/ghc-8.4.4-errorspan.compile
new file mode 100644
index 0000000..ce001bb
--- /dev/null
+++ b/test/src/ghc-8.4.4-errorspan.compile
@@ -0,0 +1,21 @@
+Resolving dependencies...
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - stackage-to-hackage-1.1.0 (lib) (first run)
+ - stackage-to-hackage-1.1.0 (exe:stackage-to-hackage) (first run)
+ - stack2cabal-1.0.2 (exe:stack2cabal) (first run)
+Configuring library for stackage-to-hackage-1.1.0..
+Preprocessing library for stackage-to-hackage-1.1.0..
+Building library for stackage-to-hackage-1.1.0..
+[1 of 2] Compiling StackageToHackage.Stackage
+[2 of 2] Compiling StackageToHackage.Hackage
+
+lib/StackageToHackage/Hackage.hs:35:16-18: error:
+ parse error on input ‘...’
+ |
+35 | freeze = ...
+ | ^^^
+cabal: Failed to build stackage-to-hackage-1.1.0 (which is required by
+exe:stackage-to-hackage from stackage-to-hackage-1.1.0 and exe:stack2cabal
+from stack2cabal-1.0.2).
+
diff --git a/test/src/ghc-8.4.4-errorspan.compile.faceup
b/test/src/ghc-8.4.4-errorspan.compile.faceup
new file mode 100644
index 0000000..aca64c8
--- /dev/null
+++ b/test/src/ghc-8.4.4-errorspan.compile.faceup
@@ -0,0 +1,21 @@
+Resolving dependencies...
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - stackage-to-hackage-1.1.0 (lib) (first run)
+ - stackage-to-hackage-1.1.0 (exe:stackage-to-hackage) (first run)
+ - stack2cabal-1.0.2 (exe:stack2cabal) (first run)
+Configuring library for stackage-to-hackage-1.1.0..
+Preprocessing library for stackage-to-hackage-1.1.0..
+Building library for stackage-to-hackage-1.1.0..
+[1 of 2] Compiling StackageToHackage.Stackage
+[2 of 2] Compiling StackageToHackage.Hackage
+
+«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»:«:compilation-line-number:35»:«:compilation-column-number:16»-«:compilation-column-number:18»:»
error:
+ parse error on input ‘...’
+ |
+35 | freeze = ...
+ | ^^^
+cabal: Failed to build stackage-to-hackage-1.1.0 (which is required by
+exe:stackage-to-hackage from stackage-to-hackage-1.1.0 and exe:stack2cabal
+from stack2cabal-1.0.2).
+
diff --git a/test/src/ghc-8.4.4-warning.compile.faceup
b/test/src/ghc-8.4.4-warning.compile.faceup
new file mode 100644
index 0000000..734a22e
--- /dev/null
+++ b/test/src/ghc-8.4.4-warning.compile.faceup
@@ -0,0 +1,29 @@
+Resolving dependencies...
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - stackage-to-hackage-1.1.0 (lib) (first run)
+ - stackage-to-hackage-1.1.0 (exe:stackage-to-hackage) (first run)
+ - stack2cabal-1.0.2 (exe:stack2cabal) (first run)
+Configuring library for stackage-to-hackage-1.1.0..
+Preprocessing library for stackage-to-hackage-1.1.0..
+Building library for stackage-to-hackage-1.1.0..
+[1 of 2] Compiling StackageToHackage.Stackage (
lib/StackageToHackage/Stackage.hs,
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Stackage.o
)
+[2 of 2] Compiling StackageToHackage.Hackage (
lib/StackageToHackage/Hackage.hs,
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Hackage.o
)
+
+«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»:«:compilation-line-number:13»:«:compilation-column-number:1»:
warning:» [-Wunused-imports]
+ The qualified import of ‘Data.ByteString’ is redundant
+ except perhaps to import instances from ‘Data.ByteString’
+ To import instances alone, use: import Data.ByteString()
+ |
+13 | import qualified Data.ByteString as BS
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Configuring executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Configuring executable 'stack2cabal' for stack2cabal-1.0.2..
+Preprocessing executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Building executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Preprocessing executable 'stack2cabal' for stack2cabal-1.0.2..
+Building executable 'stack2cabal' for stack2cabal-1.0.2..
+[1 of 1] Compiling Main ( exe/Main.hs,
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/x/stackage-to-hackage/noopt/build/stackage-to-hackage/stackage-to-hackage-tmp/Main.o
)
+[1 of 1] Compiling Main ( exe/Main.hs,
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stack2cabal-1.0.2/x/stack2cabal/noopt/build/stack2cabal/stack2cabal-tmp/Main.o
)
+Linking
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stack2cabal-1.0.2/x/stack2cabal/noopt/build/stack2cabal/stack2cabal
...
+Linking
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/x/stackage-to-hackage/noopt/build/stackage-to-hackage/stackage-to-hackage
...
diff --git a/test/src/ghc-8.4.4-warningspan.compile
b/test/src/ghc-8.4.4-warningspan.compile
new file mode 100644
index 0000000..8cfa92a
--- /dev/null
+++ b/test/src/ghc-8.4.4-warningspan.compile
@@ -0,0 +1,29 @@
+Resolving dependencies...
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - stackage-to-hackage-1.1.0 (lib) (first run)
+ - stackage-to-hackage-1.1.0 (exe:stackage-to-hackage) (first run)
+ - stack2cabal-1.0.2 (exe:stack2cabal) (first run)
+Configuring library for stackage-to-hackage-1.1.0..
+Preprocessing library for stackage-to-hackage-1.1.0..
+Building library for stackage-to-hackage-1.1.0..
+[1 of 2] Compiling StackageToHackage.Stackage
+[2 of 2] Compiling StackageToHackage.Hackage
+
+lib/StackageToHackage/Hackage.hs:13:1-51: warning: [-Wunused-imports]
+ The qualified import of ‘Data.ByteString’ is redundant
+ except perhaps to import instances from ‘Data.ByteString’
+ To import instances alone, use: import Data.ByteString()
+ |
+13 | import qualified Data.ByteString as BS
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Configuring executable 'stack2cabal' for stack2cabal-1.0.2..
+Configuring executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Preprocessing executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Building executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Preprocessing executable 'stack2cabal' for stack2cabal-1.0.2..
+Building executable 'stack2cabal' for stack2cabal-1.0.2..
+[1 of 1] Compiling Main
+[1 of 1] Compiling Main
+Linking
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/x/stackage-to-hackage/noopt/build/stackage-to-hackage/stackage-to-hackage
...
+Linking
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stack2cabal-1.0.2/x/stack2cabal/noopt/build/stack2cabal/stack2cabal
...
diff --git a/test/src/ghc-8.4.4-warningspan.compile.faceup
b/test/src/ghc-8.4.4-warningspan.compile.faceup
new file mode 100644
index 0000000..b2bcd41
--- /dev/null
+++ b/test/src/ghc-8.4.4-warningspan.compile.faceup
@@ -0,0 +1,29 @@
+Resolving dependencies...
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - stackage-to-hackage-1.1.0 (lib) (first run)
+ - stackage-to-hackage-1.1.0 (exe:stackage-to-hackage) (first run)
+ - stack2cabal-1.0.2 (exe:stack2cabal) (first run)
+Configuring library for stackage-to-hackage-1.1.0..
+Preprocessing library for stackage-to-hackage-1.1.0..
+Building library for stackage-to-hackage-1.1.0..
+[1 of 2] Compiling StackageToHackage.Stackage
+[2 of 2] Compiling StackageToHackage.Hackage
+
+«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»:«:compilation-line-number:13»:«:compilation-column-number:1»-«:compilation-column-number:51»:
warning:» [-Wunused-imports]
+ The qualified import of ‘Data.ByteString’ is redundant
+ except perhaps to import instances from ‘Data.ByteString’
+ To import instances alone, use: import Data.ByteString()
+ |
+13 | import qualified Data.ByteString as BS
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Configuring executable 'stack2cabal' for stack2cabal-1.0.2..
+Configuring executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Preprocessing executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Building executable 'stackage-to-hackage' for stackage-to-hackage-1.1.0..
+Preprocessing executable 'stack2cabal' for stack2cabal-1.0.2..
+Building executable 'stack2cabal' for stack2cabal-1.0.2..
+[1 of 1] Compiling Main
+[1 of 1] Compiling Main
+Linking
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/x/stackage-to-hackage/noopt/build/stackage-to-hackage/stackage-to-hackage
...
+Linking
/home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stack2cabal-1.0.2/x/stack2cabal/noopt/build/stack2cabal/stack2cabal
...
diff --git a/test/src/hspec-failure.compile.faceup
b/test/src/hspec-failure.compile.faceup
new file mode 100644
index 0000000..a0fe49e
--- /dev/null
+++ b/test/src/hspec-failure.compile.faceup
@@ -0,0 +1,743 @@
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - hpack-0.31.2 (test:spec) (first run)
+Preprocessing test suite 'spec' for hpack-0.31.2..
+Building test suite 'spec' for hpack-0.31.2..
+Running 1 test suites...
+Test suite spec: RUNNING...
+
+Data.Aeson.Config.FromValue
+ fromValue
+ with a record
+ decodes a record
+ captures unrecognized fields
+ captures nested unrecognized fields
+ ignores fields that start with an underscore
+ fails on missing field
+ fails on invalid field value
+ with (,)
+ captures unrecognized fields
+ with []
+ captures unrecognized fields
+ with Map
+ captures unrecognized fields
+Data.Aeson.Config.Types
+ fromValue
+ List
+ when parsing single values
+ returns the value in a singleton list
+ returns error messages from element parsing
+ when parsing a list of values
+ returns the list
+ propagates parse error messages of invalid elements
+Data.Aeson.Config.Util
+ hyphenize
+ hyphenizes
+ ignores leading underscores
+ when given a type name
+ strips type name
+ ignores trailing underscores in type name
+EndToEnd
+ hpack
+ ignores fields that start with an underscore
+ warns on duplicate fields
+ spec-version
+ accepts spec-version
+ fails on malformed spec-version
+ fails on unsupported spec-version
+ fails on unsupported spec-version from defaults
+ data-files
+ accepts data-files
+ data-dir
+ accepts data-dir
+ github
+ accepts owner/repo
+ accepts owner/repo/path
+ homepage
+ accepts homepage URL
+ with github
+ gives homepage URL precedence
+ omits homepage URL if it is null
+ bug-reports
+ accepts bug-reports URL
+ with github
+ gives bug-reports URL precedence
+ omits bug-reports URL if it is null
+ defaults
+ accepts global defaults
+ accepts library defaults
+ accepts a list of defaults
+ accepts defaults recursively
+ fails on cyclic defaults
+ fails if defaults don't exist
+ # PENDING: No reason given
+ fails on parse error
+ warns on unknown fields
+ accepts defaults from local files
+ version
+ accepts string
+ accepts number
+ rejects other values
+ license
+ accepts cabal-style licenses
+ accepts SPDX licenses
+ with an ambiguous license
+ treats it as a cabal-style license
+ when cabal-version >= 2.2
+ maps license to SPDX license identifier
+ doesn't touch unknown licenses
+ with a LICENSE file
+ infers license
+ when license can not be inferred
+ warns
+ when license is null
+ does not infer license
+ build-type
+ accept Simple
+ accept Configure
+ accept Make
+ accept Custom
+ rejects invalid values
+ extra-doc-files
+ accepts a list of files
+ accepts glob patterns
+ warns if a glob pattern does not match anything
+ build-tools
+ adds known build tools to build-tools
+ adds other build tools to build-tool-depends
+ when the name of a build tool matches an executable from the same package
+ adds it to build-tools
+ gives per-section unqualified names precedence over global qualified
names
+ gives per-section qualified names precedence over global unqualified
names
+ when the name of a build tool matches a legacy system build tool
+ adds it to build-tools
+ system-build-tools
+ adds system build tools to build-tools
+ with hpc
+ infers cabal-version 1.14
+ with ghcjs
+ infers cabal-version 1.22
+ with an unknown system build tool
+ infers cabal-version 2.0
+ dependencies
+ accepts single dependency
+ accepts list of dependencies
+ with both global and section specific dependencies
+ combines dependencies
+ gives section specific dependencies precedence
+ pkg-config-dependencies
+ accepts pkg-config-dependencies
+ include-dirs
+ accepts include-dirs
+ install-includes
+ accepts install-includes
+ js-sources
+ accepts js-sources
+ accepts global js-sources
+ cxx-options
+ accepts cxx-options
+ when used inside a nested conditional
+ infers correct cabal-version
+ cxx-sources
+ accepts cxx-sources
+ extra-lib-dirs
+ accepts extra-lib-dirs
+ extra-libraries
+ accepts extra-libraries
+ extra-frameworks-dirs
+ accepts extra-frameworks-dirs
+ frameworks
+ accepts frameworks
+ c-sources
+ keeps declaration order
+ accepts glob patterns
+ warns when a glob pattern does not match any files
+ quotes filenames with special characters
+ custom-setup
+ warns on unknown fields
+ accepts dependencies
+ leaves build-type alone, if it exists
+ library
+ accepts reexported-modules
+ accepts signatures
+ when package.yaml contains duplicate modules
+ generates a cabal file with duplicate modules
+ when inferring modules
+ with exposed-modules
+ infers other-modules
+ with other-modules
+ infers exposed-modules
+ with both exposed-modules and other-modules
+ doesn't infer any modules
+ with neither exposed-modules nor other-modules
+ infers exposed-modules
+ with a conditional
+ doesn't infer any modules mentioned in that conditional
+ with a source-dir inside the conditional
+ infers other-modules
+ does not infer outer modules
+ with generated modules
+ includes generated modules in autogen-modules
+ does not infer any mentioned generated modules
+ does not infer any generated modules mentioned inside conditionals
+ mixins
+ sets cabal-version to 2.0 if mixins are used
+ internal-libraries
+ accepts internal-libraries
+ warns on unknown fields
+ warns on missing source-dirs
+ executables
+ accepts arbitrary entry points as main
+ when inferring modules
+ infers other-modules
+ allows to specify other-modules
+ does not infer any mentioned generated modules
+ with conditional
+ doesn't infer any modules mentioned in that conditional
+ infers other-modules
+ with conditional
+ does not apply global options
+ accepts executable-specific fields
+ when
+ accepts conditionals
+ warns on unknown fields
+ when parsing conditionals with else-branch
+ accepts conditionals with else-branch
+ rejects invalid conditionals
+ rejects invalid conditionals
+ warns on unknown fields
+ verbatim
+ accepts strings
+ accepts multi-line strings as field values
+ allows to null out existing fields
+ when specified globally
+ overrides header fields
+ overrides other fields
+ is not propagated into sections
+ within a section
+ overrides section fields
+ default value of maintainer
+ gives maintainer precedence
+ with author
+ uses author if maintainer is not specified
+ omits maintainer if it is null
+Hpack.CabalFile
+ readCabalFile
+ includes hash
+ accepts cabal-version at the beginning of the file
+ extractVersion
+ extracts Hpack version from a cabal file
+ is agnostic to file name
+ is total
+ parseVersion
+ is inverse to showVersion
+ +++ OK, passed 100 tests.
+ removeGitConflictMarkers
+ remove git conflict markers (git checkout --ours)
+Hpack.Config
+ pathsModuleFromPackageName
+ replaces dashes with underscores in package name
+ fromLibrarySectionInConditional
+ when inferring modules
+ infers other-modules
+ with exposed-modules
+ infers nothing
+ with other-modules
+ infers nothing
+ renamePackage
+ renames a package
+ renames dependencies on self
+ renameDependencies
+ renames dependencies
+ renames dependency in conditionals
+ getModules
+ returns Haskell modules in specified source directory
+ when source directory is '.'
+ ignores Setup
+ when source directory is './.'
+ ignores Setup
+ toBuildTool
+ with an UnqualifiedBuildTool
+ when name does not match a local executable
+ returns a BuildTool
+ when name matches a local executable
+ returns a LocalBuildTool
+ when name matches a legacy executable
+ warns
+ when name matches a legacy system build tool
+ warns
+ with a QualifiedBuildTool
+ when only package matches the current package
+ returns a BuildTool
+ when only executable matches a local executable
+ returns a BuildTool
+ when both package matches the current package and executable matches a
local executable
+ returns a LocalBuildTool
+ readPackageConfig
+ warns on missing name
+ infers name
+ accepts name
+ accepts version
+ accepts synopsis
+ accepts description
+ accepts category
+ accepts author
+ accepts maintainer
+ accepts copyright
+ accepts stability
+ accepts license
+ infers license file
+ accepts license file
+ accepts list of license files
+ accepts flags
+ accepts extra-source-files
+ accepts arbitrary git URLs as source repository
+ accepts CPP options
+ accepts cc-options
+ accepts ghcjs-options
+ accepts ld-options
+ accepts buildable
+ allows yaml merging and overriding fields
+ when reading library section
+ accepts source-dirs
+ accepts default-extensions
+ accepts global default-extensions
+ accepts global source-dirs
+ allows to specify exposed
+ when reading executable section
+ reads executables section
+ reads executable section
+ with both executable and executables
+ gives executable precedence
+ warns
+ accepts source-dirs
+ accepts global source-dirs
+ accepts default-extensions
+ accepts global default-extensions
+ accepts GHC options
+ accepts global GHC options
+ accepts GHC profiling options
+ accepts global GHC profiling options
+ when reading test section
+ reads test section
+ when a specified source directory does not exist
+ warns
+ when package.yaml can not be parsed
+ returns an error
+ when package.yaml is invalid
+ returns an error
+ when package.yaml does not exist
+ returns an error
+ fromValue
+ with Cond
+ accepts Strings
+ accepts True
+ accepts False
+ rejects other values
+ formatOrList
+ formats a singleton list
+ formats a 2-element list
+ formats an n-element list
+Hpack.Defaults
+ ensure
+ fails when local file does not exist
+ ensureFile
+ downloads file if missing
+ # PENDING: No reason given
+ with existing file
+ does nothing
+ with 404
+ does not create any files
+ # PENDING: No reason given
+Hpack.Haskell
+ isModule
+ accepts module names
+ rejects the empty list
+ isQualifiedIdentifier
+ accepts qualified Haskell identifiers
+ rejects invalid input
+ isIdentifier
+ accepts Haskell identifiers
+ rejects reserved keywords
+ rejects invalid input
+Hpack.License
+ parseLicense
+ parses GPL
+ parses GPL-2
+ parses GPL-3
+ parses LGPL
+ parses LGPL-2.1
+ parses LGPL-3
+ parses AGPL
+ parses AGPL-3
+ parses BSD2
+ parses BSD3
+ parses BSD4
+ parses MIT
+ parses ISC
+ parses MPL-2.0
+ parses Apache
+ parses Apache-2.0
+ parses PublicDomain
+ parses OtherLicense
+ parses AllRightsReserved
+ parses GPL-2.0-or-later
+ parses some-license
+Hpack.Options
+ parseOptions
+ with --help
+ returns Help
+ with --version
+ returns PrintVersion
+ by default
+ returns Run
+ includes target
+ with superfluous arguments
+ returns ParseError
+ with --silent
+ sets optionsVerbose to NoVerbose
+ with --force
+ sets optionsForce to Force
+ with -f
+ sets optionsForce to Force
+ with -
+ sets optionsToStdout to True, implies Force and NoVerbose
+ rejects - for target
+ expandTarget
+ when target is Nothing
+ return default file
+ when target is a file
+ return file
+ when target is a directory
+ appends default file
+ when target file does not exist
+ return target file
+ when target directory does not exist
+ appends default file
+ when target is the empty string
+ return default file
+Hpack.Render.Dsl
+ render
+ when rendering a Stanza
+ renders stanza
+ omits empty fields
+ allows to customize indentation
+ renders nested stanzas
+ when rendering a Field
+ when rendering a MultipleLines value
+ takes nesting into account
+ when value is empty
+ returns an empty list
+ when rendering a SingleLine value
+ returns a single line
+ takes nesting into account
+ takes alignment into account
+ when value is empty
+ returns an empty list
+ renderValue
+ renders WordList
+ renders CommaSeparatedList
+ renders LineSeparatedList
+ when renderSettingsCommaStyle is TrailingCommas
+ renders CommaSeparatedList with trailing commas
+ renders LineSeparatedList without padding
+ sortFieldsBy
+ sorts fields
+ keeps existing field order
+ +++ OK, passed 100 tests.
+ is stable
+ +++ OK, passed 100 tests.
+ addSortKey
+ adds sort key
+Hpack.Render.Hints
+ extractFieldOrder
+ extracts field order hints
+ extractSectionsFieldOrder
+ splits input into sections
+ sanitize
+ removes empty lines
+ removes trailing whitespace
+ removes cabal-version
+ unindent
+ unindents
+ sniffAlignment
+ sniffs field alignment from given cabal file
+ ignores fields without a value on the same line
+ splitField
+ splits fields
+ accepts fields names with dashes
+ rejects fields names with spaces
+ rejects invalid fields
+ sniffIndentation
+ sniff alignment from executable section
+ sniff alignment from library section
+ ignores empty lines
+ ignores whitespace lines
+ sniffCommaStyle
+ detects leading commas
+ detects trailing commas
+ when detection fails
+ returns Nothing
+Hpack.Render
+ renderPackageWith
+ renders a package
+ aligns fields
+ includes description
+ aligns description
+ includes stability
+ includes license-file
+ aligns license-files
+ includes copyright holder
+ aligns copyright holders
+ includes extra-source-files
+ includes buildable
+ when rendering library section
+ renders library section
+ when given list of existing fields
+ retains field order
+ uses default field order for new fields
+ retains section field order
+ when rendering executable section
+ includes dependencies
+ includes GHC options
+ includes frameworks
+ includes extra-framework-dirs
+ includes GHC profiling options
+ renderConditional
+ renders conditionals
+ renders conditionals with else-branch
+ renders nested conditionals
+ conditionalises both build-depends and mixins
+ renderFlag
+ renders flags
+ formatDescription
+ formats description
+ takes specified alignment into account
+ formats empty lines
+ renderSourceRepository
+ renders source-repository without subdir correctly
+ renders source-repository with subdir
+ renderDirectories
+ replaces . with ./. (for compatibility with cabal syntax)
+ renderDependencies
+ renders build-depends
+ renders build-depends with versions
+ renders mixins and build-depends for multiple modules
+Hpack.Syntax.BuildTools
+ fromValue
+ when parsing BuildTools
+ with a scalar
+ accepts qualified names
+ accepts qualified names with a version
+ accepts unqualified names
+ accepts unqualified names with a version
+ with a mapping
+ accepts qualified names
+ accepts unqualified names
+ with a list
+ accepts a list of build tools
+ accepts source dependencies with a qualified name
+ accepts source dependencies with an unqualified name
+ when parsing SystemBuildTools
+ with a scalar
+ accepts system build tools
+ accepts system build tools with a version
+ with a mapping
+ accepts system build tools
+ with a list
+ accepts a list of system build tools
+ accepts objects with name and version
+Hpack.Syntax.Defaults
+ isValidOwner
+ rejects the empty string
+ accepts valid owner names
+ rejects dots
+ rejects multiple consecutive hyphens
+ rejects hyphens at the beginning
+ rejects hyphens at the end
+ isValidRepo
+ rejects the empty string
+ rejects .
+ rejects ..
+ accepts underscores
+ accepts dots
+ accepts hyphens
+ fromValue
+ when parsing Defaults
+ with Object
+ fails when neither github nor local is present
+ accepts Defaults from GitHub
+ rejects invalid owner names
+ rejects invalid repository names
+ rejects invalid Git references
+ rejects \ in path
+ rejects : in path
+ rejects absolute paths
+ rejects .. in path
+ with String
+ accepts Defaults from GitHub
+ rejects invalid owner names
+ rejects invalid repository names
+ rejects invalid Git references
+ rejects missing Git reference
+ with neither Object nor String
+ fails
+Hpack.Syntax.Dependencies
+ fromValue
+ when parsing Dependencies
+ with a scalar
+ accepts dependencies without constraints
+ accepts dependencies with constraints
+ with invalid constraint
+ returns an error message
+ with a list
+ accepts dependencies without constraints
+ accepts dependencies with constraints
+ accepts ^>=
+ accepts objects with name and version
+ accepts git dependencies with version
+ accepts git dependencies
+ accepts github dependencies
+ accepts an optional subdirectory for git dependencies
+ accepts local dependencies
+ when ref is missing
+ produces accurate error messages
+ when both git and github are missing
+ produces accurate error messages
+ with a mapping from dependency names to constraints
+ accepts dependencies without constraints
+ rejects invalid values
+ when the constraint is a Number
+ accepts 1
+ accepts 1.0
+ accepts 0.11
+ accepts 0.110
+ accepts 1e2
+ when the constraint is a String
+ accepts version ranges
+ accepts specific versions
+ accepts wildcard versions
+ accepts ^>=
+ reports parse errors
+ when the constraint is an Object
+ accepts explicit version field
+ accepts github dependencies
+ ignores names in nested hashes
+ defaults to any version
+ with a version key
+ rejects objects
+ accepts a string
+ accepts a specific version as a number
+ accepts a specific version as a string
+ with mixin
+ accepts a single value
+ accepts a list
+Hpack.Syntax.Git
+ isValidRef
+ accepts slashes
+ rejects the empty string
+ accepts .lock as a substring
+ rejects .lock at the end of a component
+ rejects . at the biginning of a component
+ rejects two consecutive dots ..
+ rejects ASCII control characters
+ rejects space
+ rejects ~
+ rejects ^
+ rejects :
+ rejects ?
+ rejects *
+ rejects [
+ rejects \
+ rejects multiple consecutive slashes
+ rejects slash at beginning
+ rejects slash at end
+ rejects . at end
+ rejects @{
+ rejects the single character @
+Hpack.Utf8
+ readFile
+ with a file that uses CRLF newlines
+ applies newline conversion
+ writeFile
+ uses system specific newline encoding
+Hpack.Util
+ sort
+ sorts lexicographically
+ parseMain
+ accepts source file
+ accepts literate source file
+ accepts module
+ accepts hierarchical module
+ accepts qualified identifier
+ toModule
+ maps .hs paths to module names
+ maps .lhs paths to module names
+ maps .hsc paths to module names
+ rejects invalid module names
+ getModuleFilesRecursive
+ gets all files from given directory
+ descends into subdirectories
+ when a subdirectory is not a valid module name
+ does not descend
+ tryReadFile
+ reads file
+ returns Nothing if file does not exist
+ expandGlobs
+ accepts literal files
+ keeps declaration order for literal files
+ removes duplicates
+ rejects directories
+ rejects character ranges
+ when expanding *
+ expands by extension
+ rejects dot-files
+ accepts dot-files when explicitly asked to
+ matches at most one directory component
+ when expanding **
+ matches arbitrary many directory components
+ when a pattern does not match anything
+ warns
+ when a pattern only matches a directory
+ warns
+ when a literal file does not exist
+ warns and keeps the file
+Hpack
+ hpackResult
+ with existing cabal file
+ when cabal file was created manually
+ does not overwrite existing cabal file
+ with --force
+ overwrites existing cabal file
+ when cabal file was created with hpack < 0.20.0
+ overwrites existing cabal file
+ when cabal file was created with hpack >= 0.20.0
+ when hash is missing
+ does not overwrite existing cabal file
+ when hash is present
+ when exsting cabal file was generated with a newer version of hpack
+ does not overwrite existing cabal file FAILED [1]
+ when cabal file was modified manually
+ does not overwrite existing cabal file
+ when only the hpack version in the cabal file header changed
+ does not overwrite existing cabal file
+ does not complain if it's newer
+
+Failures:
+
+«U:
«:compilation-error:test/HpackSpec.hs»:«:compilation-line-number:80»:«:compilation-column-number:15»:»
+ 1) Hpack.hpackResult, with existing cabal file, when cabal file was created
with hpack >= 0.20.0, when hash is present, when exsting cabal file was
generated with a newer version of hpack, does not overwrite existing cabal file
+ not expected: "cabal-version: 1.12\n\n-- This file has been generated
from package.yaml by hpack version 0.22.0.\n--\n-- see:
https://github.com/sol/hpack\n--\n-- hash:
224b158530d1d066069f18794673f6a7a41f689d26f27fe8cd505cef259f35a9\n\nname:
foo\nversion: 0.1.0\nbuild-type: Simple\n"
+
+ To rerun use: --match "/Hpack/hpackResult/with existing cabal file/when
cabal file was created with hpack >= 0.20.0/when hash is present/when exsting
cabal file was generated with a newer version of hpack/does not overwrite
existing cabal file/"
+
+Randomized with seed 625441262
+
+Finished in 0.2159 seconds
+469 examples, 1 failure, 3 pending
+Test suite spec: FAIL
+Test suite logged to:
+/home/tseenshe/hpack/dist-newstyle/build/x86_64-linux/ghc-8.4.4/hpack-0.31.2/t/spec/noopt/test/hpack-0.31.2-spec.log
+0 of 1 test suites (0 of 1 test cases) passed.
+cabal: Tests failed for test:spec from hpack-0.31.2.
+
diff --git a/test/src/tasty-failure.compile.faceup
b/test/src/tasty-failure.compile.faceup
new file mode 100644
index 0000000..8ac1812
--- /dev/null
+++ b/test/src/tasty-failure.compile.faceup
@@ -0,0 +1,2756 @@
+Build profile: -w ghc-8.4.4 -O0
+In order, the following will be built (use -v for more details):
+ - course-0.1.4 (test:tasty) (first run)
+Preprocessing test suite 'tasty' for course-0.1.4..
+Building test suite 'tasty' for course-0.1.4..
+Running 1 test suites...
+Test suite tasty: RUNNING...
+Tests
+ Optional
+ mapOptional
+ Empty:
FAIL
+ Exception: todo: Course.Optional#mapOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:31»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ Full:
FAIL
+ Exception: todo: Course.Optional#mapOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:31»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ bindOptional
+ Empty:
FAIL
+ Exception: todo: Course.Optional#bindOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:48»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ even dec, odd inc, even input:
FAIL
+ Exception: todo: Course.Optional#bindOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:48»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ even dec, odd inc, odd input:
FAIL
+ Exception: todo: Course.Optional#bindOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:48»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ ??
+ Full:
FAIL
+ Exception: todo: Course.Optional#(??)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:62»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ Empty:
FAIL
+ Exception: todo: Course.Optional#(??)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:62»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ <+>
+ first Full:
FAIL
+ Exception: todo: Course.Optional#(<+>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:83»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ both Full:
FAIL
+ Exception: todo: Course.Optional#(<+>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:83»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ first Empty:
FAIL
+ Exception: todo: Course.Optional#(<+>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:83»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ both empty:
FAIL
+ Exception: todo: Course.Optional#(<+>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:83»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ optional
+ replaces full data constructor:
FAIL
+ Exception: todo: Course.Optional#optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:98»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ replaces empty data constructor:
FAIL
+ Exception: todo: Course.Optional#optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Optional.hs»»:«:compilation-line-number:98»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Optional
+ List
+ headOr
+ headOr on non-empty list:
FAIL
+ Exception: todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ headOr on empty list:
FAIL
+ Exception: todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ headOr on infinity always 0:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ 0
+ Use --quickcheck-replay=218885 to reproduce.
+ headOr on empty list always the default:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ 0
+ Use --quickcheck-replay=779618 to reproduce.
+ productTest
+ product of empty list:
FAIL
+ Exception: todo: Course.List#product
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:95»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ product of 1..3:
FAIL
+ Exception: todo: Course.List#product
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:95»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ product of 1..4:
FAIL
+ Exception: todo: Course.List#product
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:95»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ sum
+ sum 1..3:
FAIL
+ Exception: todo: Course.List#sum
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:110»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ sum 1..4:
FAIL
+ Exception: todo: Course.List#sum
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:110»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ subtracting each element in a list from its sum is always 0:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#sum
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:110»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=345519 to reproduce.
+ length
+ length 1..3:
FAIL
+ Exception: todo: Course.List#length
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:122»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ summing a list of 1s is equal to its length:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#length
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:122»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=679566 to reproduce.
+ map
+ add 10 on list:
FAIL
+ Exception: todo: Course.List#map
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:137»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ headOr after map:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ 0
+ Use --quickcheck-replay=920194 to reproduce.
+ map id is id:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#map
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:137»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=666065 to reproduce.
+ filter
+ filter even:
FAIL
+ Exception: todo: Course.List#filter
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:154»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ filter (const True) is identity (headOr):
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ 0
+ Use --quickcheck-replay=149662 to reproduce.
+ filter (const True) is identity:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#filter
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:154»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=914136 to reproduce.
+ filter (const False) is the empty list:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#filter
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:154»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=323113 to reproduce.
+ (++)
+ (1..6):
FAIL
+ Exception: todo: Course.List#(++)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:173»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ append empty to infinite:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ 0
+ Use --quickcheck-replay=525683 to reproduce.
+ append anything to infinity:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ (0,[])
+ Use --quickcheck-replay=970556 to reproduce.
+ associativity:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#(++)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:173»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ ([],[],[])
+ Use --quickcheck-replay=942050 to reproduce.
+ append to empty list:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#(++)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:173»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=430345 to reproduce.
+ flatten
+ (1..9):
FAIL
+ Exception: todo: Course.List#flatten
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:191»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ flatten (infinity :. y):
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ (0,[])
+ Use --quickcheck-replay=266051 to reproduce.
+ flatten (y :. infinity):
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ (0,[])
+ Use --quickcheck-replay=691387 to reproduce.
+ sum of lengths == length of flattened:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#sum
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:110»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=292173 to reproduce.
+ flatMap
+ lists of Integer:
FAIL
+ Exception: todo: Course.List#flatMap
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:208»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ flatMap id flattens a list of lists:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ (0,[])
+ Use --quickcheck-replay=199462 to reproduce.
+ flatMap id on a list of lists take 2:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#headOr
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:79»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ (0,[])
+ Use --quickcheck-replay=213627 to reproduce.
+ flatMap id == flatten:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#flatMap
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:208»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=413820 to reproduce.
+ flattenAgain
+ lists of Integer:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#flatten
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:191»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ []
+ Use --quickcheck-replay=279553 to reproduce.
+ seqOptional
+ all Full:
FAIL
+ Exception: todo: Course.List#seqOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:246»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ empty list:
FAIL
+ Exception: todo: Course.List#seqOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:246»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ contains Empty:
FAIL
+ Exception: todo: Course.List#seqOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:246»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ Empty at head of infinity:
FAIL
+ Exception: todo: Course.List#seqOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:246»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ find
+ find no matches:
FAIL
+ Exception: todo: Course.List#find
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:269»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ empty list:
FAIL
+ Exception: todo: Course.List#find
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:269»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ find only even:
FAIL
+ Exception: todo: Course.List#find
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:269»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ find first, not second even:
FAIL
+ Exception: todo: Course.List#find
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:269»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ find on infinite list:
FAIL
+ Exception: todo: Course.List#find
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:269»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ lengthGT4
+ list of length 3:
FAIL
+ Exception: todo: Course.List#lengthGT4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:288»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ list of length 4:
FAIL
+ Exception: todo: Course.List#lengthGT4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:288»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ empty list:
FAIL
+ Exception: todo: Course.List#lengthGT4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:288»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ list of length 5:
FAIL
+ Exception: todo: Course.List#lengthGT4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:288»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ infinite list:
FAIL
+ Exception: todo: Course.List#lengthGT4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:288»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ reverse
+ empty list:
FAIL
+ Exception: todo: Course.List#reverse
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:305»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ reverse . reverse on largeList:
FAIL
+ Exception: todo: Course.List#reverse
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:305»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ reverse then append is same as append then reverse:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#(++)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:173»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ ([],[])
+ Use --quickcheck-replay=534070 to reproduce.
+ reverse single element list is the list:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.List#reverse
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/List.hs»»:«:compilation-line-number:305»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.List
+ 0
+ Use --quickcheck-replay=23999 to reproduce.
+ produce
+ increment:
OK
+ double:
OK
+ Functor
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Functor (<$>)#instance ExactlyOne
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:45»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Functor
+ List
+ empty list:
FAIL
+ Exception: todo: Course.Functor (<$>)#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:60»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Functor
+ increment:
FAIL
+ Exception: todo: Course.Functor (<$>)#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:60»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Functor
+ Optional
+ Empty:
FAIL
+ Exception: todo: Course.Functor (<$>)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:75»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Functor
+ Full:
FAIL
+ Exception: todo: Course.Functor (<$>)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:75»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Functor
+ (->):
FAIL
+ Exception: todo: Course.Functor (<$>)#((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:87»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Functor
+ (<$)
+ Map 7:
FAIL
+ Exception: todo: Course.Functor#(<$)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:103»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Functor
+ Always maps a constant value over List:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Functor#(<$)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:103»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Functor
+ 0
+ 0
+ 0
+ 0
+ Use --quickcheck-replay=204341 to reproduce.
+ Always maps a constant value over Full (Optional):
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Functor#(<$)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:103»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Functor
+ 0
+ 0
+ Use --quickcheck-replay=847361 to reproduce.
+ void
+ List:
FAIL
+ Exception: todo: Course.Functor#void
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:123»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Functor
+ Full:
FAIL
+ Exception: todo: Course.Functor#void
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:123»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Functor
+ Empty:
FAIL
+ Exception: todo: Course.Functor#void
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:123»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Functor
+ (->):
FAIL
+ Exception: todo: Course.Functor#void
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:123»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Functor
+ Applicative
+ ExactlyOne instance
+ pure == ExactlyOne:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative pure#instance ExactlyOne
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:51»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ Use --quickcheck-replay=746459 to reproduce.
+ Applying within ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative (<*>)#instance ExactlyOne
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:57»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ List instance
+ pure:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative pure#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:70»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ Use --quickcheck-replay=375608 to reproduce.
+ <*>:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:76»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ lift1
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#lift1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:255»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ empty List:
FAIL
+ Exception: todo: Course.Applicative#lift1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:255»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ List:
FAIL
+ Exception: todo: Course.Applicative#lift1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:255»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional instance
+ pure:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative pure#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:95»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ Use --quickcheck-replay=592324 to reproduce.
+ Full <*> Full:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:101»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ Empty <*> Full:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:101»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ Full <*> Empty:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:101»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ Function instance
+ addition:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ more addition:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ even more addition:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ addition and multiplication:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ more addition and multiplcation:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ pure:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative pure#((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:126»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ Use --quickcheck-replay=134543 to reproduce.
+ lift2
+ + over ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#lift2
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:161»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over List:
FAIL
+ Exception: todo: Course.Applicative#lift2
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:161»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - all full:
FAIL
+ Exception: todo: Course.Applicative#lift2
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:161»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - first Empty:
FAIL
+ Exception: todo: Course.Applicative#lift2
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:161»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - second Empty:
FAIL
+ Exception: todo: Course.Applicative#lift2
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:161»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over functions:
FAIL
+ Exception: todo: Course.Applicative#lift2
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:161»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ lift3
+ + over ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#lift3
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:194»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over List:
FAIL
+ Exception: todo: Course.Applicative#lift3
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:194»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional:
FAIL
+ Exception: todo: Course.Applicative#lift3
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:194»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - third Empty:
FAIL
+ Exception: todo: Course.Applicative#lift3
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:194»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - first Empty:
FAIL
+ Exception: todo: Course.Applicative#lift3
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:194»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - first and second Empty:
FAIL
+ Exception: todo: Course.Applicative#lift3
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:194»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over functions:
FAIL
+ Exception: todo: Course.Applicative#lift3
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:194»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ lift4
+ + over ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#lift4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:228»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over List:
FAIL
+ Exception: todo: Course.Applicative#lift4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:228»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional:
FAIL
+ Exception: todo: Course.Applicative#lift4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:228»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - third Empty:
FAIL
+ Exception: todo: Course.Applicative#lift4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:228»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - first Empty:
FAIL
+ Exception: todo: Course.Applicative#lift4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:228»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over Optional - first and second Empty:
FAIL
+ Exception: todo: Course.Applicative#lift4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:228»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over functions:
FAIL
+ Exception: todo: Course.Applicative#lift4
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:228»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ lift1
+ + over ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#lift1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:255»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over empty List:
FAIL
+ Exception: todo: Course.Applicative#lift1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:255»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ + over List:
FAIL
+ Exception: todo: Course.Applicative#lift1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:255»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ rightApply
+ *> over List:
FAIL
+ Exception: todo: Course.Applicative#(*>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:281»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ *> over List:
FAIL
+ Exception: todo: Course.Applicative#(*>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:281»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ another *> over List:
FAIL
+ Exception: todo: Course.Applicative#(*>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:281»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ *> over Optional:
FAIL
+ Exception: todo: Course.Applicative#(*>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:281»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ *> over List property:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative#(*>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:281»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ Use --quickcheck-replay=449856 to reproduce.
+ *> over Optional property:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative#(*>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:281»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ Use --quickcheck-replay=358238 to reproduce.
+ leftApply
+ <* over List:
FAIL
+ Exception: todo: Course.Applicative#(<*)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:307»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ another <* over List:
FAIL
+ Exception: todo: Course.Applicative#(<*)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:307»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Yet another <* over List:
FAIL
+ Exception: todo: Course.Applicative#(<*)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:307»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ <* over Optional:
FAIL
+ Exception: todo: Course.Applicative#(<*)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:307»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ <* over List property:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative#(<*)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:307»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ Use --quickcheck-replay=621753 to reproduce.
+ <* over Optional property:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Applicative#(<*)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:307»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ Use --quickcheck-replay=455616 to reproduce.
+ sequence
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#sequence
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:330»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ List:
FAIL
+ Exception: todo: Course.Applicative#sequence
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:330»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional with an empty:
FAIL
+ Exception: todo: Course.Applicative#sequence
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:330»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional:
FAIL
+ Exception: todo: Course.Applicative#sequence
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:330»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ (->):
FAIL
+ Exception: todo: Course.Applicative#sequence
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:330»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ replicateA
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#replicateA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional - Full:
FAIL
+ Exception: todo: Course.Applicative#replicateA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional - Empty:
FAIL
+ Exception: todo: Course.Applicative#replicateA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ (->):
FAIL
+ Exception: todo: Course.Applicative#replicateA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ List:
FAIL
+ Exception: todo: Course.Applicative#replicateA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ filtering
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Applicative#filtering
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional - all true:
FAIL
+ Exception: todo: Course.Applicative#filtering
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional - some false:
FAIL
+ Exception: todo: Course.Applicative#filtering
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Optional - some empty:
FAIL
+ Exception: todo: Course.Applicative#filtering
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ (->):
FAIL
+ Exception: todo: Course.Applicative#filtering
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ List:
FAIL
+ Exception: todo: Course.Applicative#filtering
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Applicative
+ Monad
+ (=<<) for ExactlyOne:
FAIL
+ Exception: todo: Course.Monad (=<<)#instance ExactlyOne
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:40»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Monad
+ (=<<) for List:
FAIL
+ Exception: todo: Course.Monad (=<<)#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:52»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Monad
+ (=<<) for Optional:
FAIL
+ Exception: todo: Course.Monad (=<<)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:64»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Monad
+ (=<<) for (->):
FAIL
+ Exception: todo: Course.Monad (=<<)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:76»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Monad
+ <**>
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ List:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ Optional:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ Optional - empty function:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ Optional - empty value:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ (->) 1:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ (->) 2:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ (->) 3:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ (->) 4:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ (->) 5:
FAIL
+ Exception: todo: Course.Monad#(<**>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:115»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ join
+ List:
FAIL
+ Exception: todo: Course.Monad#join
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:137»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ Optional with Empty:
FAIL
+ Exception: todo: Course.Monad#join
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:137»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ Optional all Full:
FAIL
+ Exception: todo: Course.Monad#join
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:137»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ (->):
FAIL
+ Exception: todo: Course.Monad#join
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:137»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ (>>=):
FAIL
+ Exception: todo: Course.Monad#(>>=)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:151»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ kleislyComposition:
FAIL
+ Exception: todo: Course.Monad#(<=<)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:167»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ State
+ get:
FAIL
+ Exception: todo: Course.State#get
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:61»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ put:
FAIL
+ Exception: todo: Course.State#put
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:71»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ (<$>):
FAIL
+ Exception: todo: Course.State#(<$>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:83»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.State
+ Applicative
+ pure:
FAIL
+ Exception: todo: Course.State pure#instance (State s)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:100»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.State
+ <*>:
FAIL
+ Exception: todo: Course.State (<*>)#instance (State s)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:106»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.State
+ complicated <*>:
FAIL
+ Exception: todo: Course.State (<*>)#instance (State s)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:106»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.State
+ Monad
+ (=<<):
FAIL
+ Exception: todo: Course.State (=<<)#instance (State s)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:121»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.State
+ (>>=):
FAIL
+ Exception: todo: Course.Monad#(>>=)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:151»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ findM
+ find 'c' in 'a'..'h':
FAIL
+ Exception: todo: Course.State#findM
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:143»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ find 'i' in 'a'..'h':
FAIL
+ Exception: todo: Course.State#findM
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:143»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ firstRepeat
+ 'x' is the only repeat:
FAIL
+ Exception: todo: Course.State#firstRepeat
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:157»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ 'x' is the first repeat:
FAIL
+ Exception: todo: Course.State#firstRepeat
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:157»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ no repeats:
FAIL
+ Exception: todo: Course.State#firstRepeat
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:157»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ finds repeats:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.State#firstRepeat
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:157»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ []
+ Use --quickcheck-replay=605194 to reproduce.
+ removing repeats matches nub:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.State#firstRepeat
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:157»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ []
+ Use --quickcheck-replay=233318 to reproduce.
+ distinct
+ No repeats:
FAIL
+ Exception: todo: Course.State#distinct
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ Every element repeated:
FAIL
+ Exception: todo: Course.State#distinct
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ No repeats after distinct:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.State#firstRepeat
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:157»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ []
+ Use --quickcheck-replay=275621 to reproduce.
+ Every element repeated:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.State#distinct
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ []
+ Use --quickcheck-replay=224172 to reproduce.
+ isHappy
+ 4:
FAIL
+ Exception: todo: Course.State#isHappy
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:197»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ 7:
FAIL
+ Exception: todo: Course.State#isHappy
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:197»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ 42:
FAIL
+ Exception: todo: Course.State#isHappy
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:197»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ 44:
FAIL
+ Exception: todo: Course.State#isHappy
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/State.hs»»:«:compilation-line-number:197»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.State
+ StateT
+ <$>:
FAIL
+ Exception: todo: Course.StateT (<$>)#instance (StateT s f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:43»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ Applicative
+ List (pure):
FAIL
+ Exception: todo: Course.StateT pure#instance (StateT s f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:66»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ List (<*>):
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (StateT s f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:72»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ Optional:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (StateT s f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:72»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ List:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (StateT s f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:72»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ Monad
+ bind const:
FAIL
+ Exception: todo: Course.StateT (=<<)#instance (StateT s f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:88»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ modify:
FAIL
+ Exception: todo: Course.Monad#(>>=)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Monad.hs»»:«:compilation-line-number:151»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Monad
+ state':
FAIL
+ Exception: todo: Course.StateT#state'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:102»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ runState':
FAIL
+ Exception: todo: Course.StateT#runState'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ execTTest:
FAIL
+ Exception: todo: Course.StateT#execT
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:125»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ exec'Test:
FAIL
+ Exception: todo: Course.StateT#exec'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:136»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ evalTTest:
FAIL
+ Exception: todo: Course.StateT#evalT
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:148»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ eval'Test:
FAIL
+ Exception: todo: Course.StateT#eval'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:159»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ getTTest:
FAIL
+ Exception: todo: Course.StateT#getT
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:169»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ putTTest:
FAIL
+ Exception: todo: Course.StateT#putT
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:183»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ distinct'
+ removes duplicate 'c's:
FAIL
+ Exception: todo: Course.StateT#distinct'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:195»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ distinct':
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.StateT#distinct'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:195»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ []
+ Use --quickcheck-replay=48265 to reproduce.
+ distinctF
+ Full case:
FAIL
+ Exception: todo: Course.StateT#distinctF
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:213»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ Empty case:
FAIL
+ Exception: todo: Course.StateT#distinctF
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:213»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ (<$>) for OptionalT:
FAIL
+ Exception: todo: Course.StateT (<$>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:232»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ (<*>) for OptionalT
+ one:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:270»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ two:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:270»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ three:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:270»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ four:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:270»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ five:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:270»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ six:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:270»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ seven:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:270»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ (=<<) for OptionalT:
FAIL
+ Exception: todo: Course.StateT (=<<)#instance (OptionalT f)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:282»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ (<$>) for Logger:
FAIL
+ Exception: todo: Course.StateT (<$>)#instance (Logger l)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:299»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ Logger Applicative
+ pure:
FAIL
+ Exception: todo: Course.StateT pure#instance (Logger l)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:313»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ <*>:
FAIL
+ Exception: todo: Course.StateT (<*>)#instance (Logger l)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:320»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ (=<<) for Logger:
FAIL
+ Exception: todo: Course.StateT (=<<)#instance (Logger l)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:333»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.StateT
+ log1:
FAIL
+ Exception: todo: Course.StateT#log1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:344»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ distinctG
+ Full case:
FAIL
+ Exception: todo: Course.StateT#distinctG
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:365»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ Empty case:
FAIL
+ Exception: todo: Course.StateT#distinctG
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/StateT.hs»»:«:compilation-line-number:365»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.StateT
+ Validation
+ isError
+ true for errors:
OK
+ false for values:
OK
+ not the same as isValue:
OK
+ +++ OK, passed 100 tests.
+ isValue
+ false for errors:
OK
+ false for values:
OK
+ not the same as isValue:
OK
+ +++ OK, passed 100 tests.
+ mapValidation
+ errors unchanged:
OK
+ values changed:
OK
+ map with id causes no change:
OK
+ +++ OK, passed 100 tests.
+ bindValidation
+ error unchanged:
OK
+ odd value:
OK
+ even value:
OK
+ bind with Value causes no change:
OK
+ +++ OK, passed 100 tests.
+ valueOr
+ falls through for errors:
OK
+ unwraps values:
OK
+ isValue or valueOr falls through:
OK
+ +++ OK, passed 100 tests.
+ errorOr
+ unwraps errors:
OK
+ falls through for values:
OK
+ isError or errorOr falls through:
OK
+ +++ OK, passed 100 tests.
+ Extend
+ ExactlyOne instance:
FAIL
+ Exception: todo: Course.Extend (<<=)#instance ExactlyOne
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:37»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Extend
+ List
+ length:
FAIL
+ Exception: todo: Course.Extend (<<=)#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:55»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Extend
+ id:
FAIL
+ Exception: todo: Course.Extend (<<=)#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:55»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Extend
+ reverse:
FAIL
+ Exception: todo: Course.Extend (<<=)#instance List
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:55»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Extend
+ Optional
+ id Full:
FAIL
+ Exception: todo: Course.Extend (<<=)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:70»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Extend
+ id Empty:
FAIL
+ Exception: todo: Course.Extend (<<=)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:70»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Extend
+ cojoin
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Extend#cojoin
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:90»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Extend
+ List:
FAIL
+ Exception: todo: Course.Extend#cojoin
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:90»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Extend
+ Full:
FAIL
+ Exception: todo: Course.Extend#cojoin
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:90»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Extend
+ Empty:
FAIL
+ Exception: todo: Course.Extend#cojoin
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Extend.hs»»:«:compilation-line-number:90»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Extend
+ Comonad
+ ExactlyOne:
FAIL
+ Exception: todo: Course.Comonad copure#instance ExactlyOne
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Comonad.hs»»:«:compilation-line-number:33»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Comonad
+ <$$>:
FAIL
+ Exception: todo: Course.Comonad#(<$>)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Comonad.hs»»:«:compilation-line-number:45»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Comonad
+ Traversable
+ listTest
+ traverse on empty list:
FAIL
+ Exception: todo: Course.Applicative pure#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:95»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ traverse on non-empty list:
FAIL
+ Exception: todo: Course.Apply (<*>)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:101»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ exactlyOneTest
+ traverse on ExactlyOne:
FAIL
+ Exception: todo: Course.Traversable traverse#instance ExactlyOne
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:49»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ optionalTest
+ traverse on Empty:
FAIL
+ Exception: todo: Course.Traversable traverse#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:58»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ traverse on Full:
FAIL
+ Exception: todo: Course.Traversable traverse#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:58»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ sequenceATest
+ on List over ExactlyOne:
FAIL
+ Exception: todo: Course.Traversable#sequenceA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:75»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Traversable
+ on Optional over ExactlyOne:
FAIL
+ Exception: todo: Course.Traversable#sequenceA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:75»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Traversable
+ on Optional over function:
FAIL
+ Exception: todo: Course.Traversable#sequenceA
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:75»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Traversable
+ composeTest
+ traverse on Compose Optional List Int:
FAIL
+ Exception: todo: Course.Traversable traverse#instance (Compose f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:81»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ traverse on Compose List ExactlyOne Int:
FAIL
+ Exception: todo: Course.Traversable traverse#instance (Compose f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:81»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ productFunctorTest
+ fmap on Product Optional List Int:
FAIL
+ Exception: todo: Course.Traversable (<$>)#instance (Product f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:91»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ fmap on Product ExactlyOne Optional Int:
FAIL
+ Exception: todo: Course.Traversable (<$>)#instance (Product f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:91»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ productTraversableTest
+ traverse on Product Optional List Int:
FAIL
+ Exception: todo: Course.Traversable traverse#instance (Product f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:97»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ coProductFunctorTest
+ fmap on InL Optional Int:
FAIL
+ Exception: todo: Course.Traversable (<$>)#instance (Coproduct f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:108»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ fmap on InR ExactlyOne Int:
FAIL
+ Exception: todo: Course.Traversable (<$>)#instance (Coproduct f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:108»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ coProductTraversableTest
+ traverse on InL Optional Int:
FAIL
+ Exception: todo: Course.Traversable traverse#instance (Coproduct f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:114»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ traverse on InR List Int:
FAIL
+ Exception: todo: Course.Traversable traverse#instance (Coproduct f g)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Traversable.hs»»:«:compilation-line-number:114»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Traversable
+ ListZipper
+ ListZipper (<$>):
FAIL
+ Exception: todo: Course.ListZipper (<$>)#instance ListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:68»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ MaybeListZipper (<$>):
FAIL
+ Exception: todo: Course.ListZipper (<$>)#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:76»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ toList
+ Optional empty list:
FAIL
+ Exception: todo: Course.Functor (<$>)#instance Optional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Functor.hs»»:«:compilation-line-number:75»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Functor
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#toList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:92»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ lefts and rights:
FAIL
+ Exception: todo: Course.ListZipper#toList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:92»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ fromList
+ non-empty:
FAIL
+ Exception: todo: Course.ListZipper#fromList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:116»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty:
FAIL
+ Exception: todo: Course.ListZipper#fromList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:116»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ round trip:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#fromList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:116»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ []
+ Use --quickcheck-replay=497955 to reproduce.
+ toOptional
+ empty:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#toOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:127»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ []
+ Use --quickcheck-replay=839372 to reproduce.
+ withFocus
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#withFocus
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:187»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ left and right:
FAIL
+ Exception: todo: Course.ListZipper#withFocus
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:187»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ setFocus
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#setFocus
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:202»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ left and right:
FAIL
+ Exception: todo: Course.ListZipper#setFocus
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:202»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ hasLeft
+ left and right:
FAIL
+ Exception: todo: Course.ListZipper#hasLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:225»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#hasLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:225»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ hasRight
+ left and right:
FAIL
+ Exception: todo: Course.ListZipper#hasRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:238»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty right:
FAIL
+ Exception: todo: Course.ListZipper#hasRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:238»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ findLeft
+ missing element returns IsNotZ:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#fromList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:116»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ []
+ False
+ Use --quickcheck-replay=632697 to reproduce.
+ found in left:
FAIL
+ Exception: todo: Course.ListZipper#findLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:266»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ not found:
FAIL
+ Exception: todo: Course.ListZipper#findLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:266»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ one match in left:
FAIL
+ Exception: todo: Course.ListZipper#findLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:266»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ multiple matches in left:
FAIL
+ Exception: todo: Course.ListZipper#findLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:266»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ elements shifted to right correctly:
FAIL
+ Exception: todo: Course.ListZipper#findLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:266»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ findRight
+ missing element returns IsNotZ:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#fromList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:116»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ []
+ Use --quickcheck-replay=23572 to reproduce.
+ found in right:
FAIL
+ Exception: todo: Course.ListZipper#findRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:291»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ not found:
FAIL
+ Exception: todo: Course.ListZipper#findRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:291»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ one match in right:
FAIL
+ Exception: todo: Course.ListZipper#findRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:291»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ multiple matches in right:
FAIL
+ Exception: todo: Course.ListZipper#findRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:291»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moveLeftLoop
+ with left:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftLoop
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:304»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftLoop
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:304»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moveRightLoop
+ with right:
FAIL
+ Exception: todo: Course.ListZipper#moveRightLoop
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:317»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty right:
FAIL
+ Exception: todo: Course.ListZipper#moveRightLoop
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:317»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moveLeft
+ with left:
FAIL
+ Exception: todo: Course.ListZipper#moveLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:330»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#moveLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:330»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moveRight
+ with right:
FAIL
+ Exception: todo: Course.ListZipper#moveRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:343»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty right:
FAIL
+ Exception: todo: Course.ListZipper#moveRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:343»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ swapLeft
+ with left:
FAIL
+ Exception: todo: Course.ListZipper#swapLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#swapLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ swapRight
+ with right:
FAIL
+ Exception: todo: Course.ListZipper#swapRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:369»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty right:
FAIL
+ Exception: todo: Course.ListZipper#swapRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:369»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ dropLeft
+ with left:
FAIL
+ Exception: todo: Course.ListZipper#dropLefts
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty left:
FAIL
+ Exception: todo: Course.ListZipper#dropLefts
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ dropLefts empties left of zipper:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#dropLefts
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:384»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=852942 to reproduce.
+ dropRights
+ with right:
FAIL
+ Exception: todo: Course.ListZipper#dropRights
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:399»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty right:
FAIL
+ Exception: todo: Course.ListZipper#dropRights
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:399»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ dropRights empties right of zipper:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#dropRights
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:399»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=876174 to reproduce.
+ moveLeftN
+ positive moves:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:413»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ negative moves:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:413»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moveRightN
+ positive moves:
FAIL
+ Exception: todo: Course.ListZipper#moveRightN
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ negative moves:
FAIL
+ Exception: todo: Course.ListZipper#moveRightN
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moveLeftN'
+ positive - out of bounds both sides:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ positive in range:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moving zero is `Right . id`:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#moveLeftN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=916083 to reproduce.
+ negative in range:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ negative out of bounds:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ positive - out of bounds on left only:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ negative - out of bounds on right only:
FAIL
+ Exception: todo: Course.ListZipper#moveLeftN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moveRightN'
+ positive - out of bounds both sides:
FAIL
+ Exception: todo: Course.ListZipper#moveRightN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:481»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ positive in range:
FAIL
+ Exception: todo: Course.ListZipper#moveRightN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:481»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ moving zero is `Right . id`:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#moveRightN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:481»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=416654 to reproduce.
+ negative in range:
FAIL
+ Exception: todo: Course.ListZipper#moveRightN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:481»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ negative - out of bounds both sides:
FAIL
+ Exception: todo: Course.ListZipper#moveRightN'
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:481»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ nth
+ have 1:
FAIL
+ Exception: todo: Course.ListZipper#nth
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:498»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ have 5:
FAIL
+ Exception: todo: Course.ListZipper#nth
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:498»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ missing 8:
FAIL
+ Exception: todo: Course.ListZipper#nth
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:498»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ index
+ index works:
FAIL
+ Exception: todo: Course.ListZipper#index
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:510»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ Always returns the index on a valid zipper:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#toOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:127»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ ([] >0< [],0)
+ Use --quickcheck-replay=641600 to reproduce.
+ end
+ end:
FAIL
+ Exception: todo: Course.ListZipper#end
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:524»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ end never changes the zipper's contents:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#toList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:92»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=338045 to reproduce.
+ never have rights after calling end:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#end
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:524»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=330761 to reproduce.
+ start
+ start:
FAIL
+ Exception: todo: Course.ListZipper#start
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:538»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ start never changes the zipper's contents:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#toList
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:92»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=837438 to reproduce.
+ never have lefts after calling start:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#start
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:538»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=92310 to reproduce.
+ deletePullLeft
+ non-empty lefts:
FAIL
+ Exception: todo: Course.ListZipper#deletePullLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:551»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty lefts:
FAIL
+ Exception: todo: Course.ListZipper#deletePullLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:551»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ deletePullRight
+ non-empty rights:
FAIL
+ Exception: todo: Course.ListZipper#deletePullRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:564»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty rights:
FAIL
+ Exception: todo: Course.ListZipper#deletePullRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:564»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ insertPushLeft
+ non-empty lefts:
FAIL
+ Exception: todo: Course.ListZipper#insertPushLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:580»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty lefts:
FAIL
+ Exception: todo: Course.ListZipper#insertPushLeft
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:580»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ deletePullLeft . insertPushLeft == id:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#toOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:127»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ 0
+ Use --quickcheck-replay=389162 to reproduce.
+ insertPushRight
+ non-empty rights:
FAIL
+ Exception: todo: Course.ListZipper#insertPushRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:596»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ empty rights:
FAIL
+ Exception: todo: Course.ListZipper#insertPushRight
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:596»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ deletePullRight . insertPushRight == id:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper#toOptional
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:127»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ 0
+ Use --quickcheck-replay=173350 to reproduce.
+ Applicative
+ pure produces infinite lefts:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ Use --quickcheck-replay=568135 to reproduce.
+ pure produces infinite rights:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ Use --quickcheck-replay=315523 to reproduce.
+ <*> applies functions to corresponding elements in zipper:
FAIL
+ Exception: todo: Course.ListZipper (<*>)#instance ListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:614»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ Applicative (MaybeListZipper)
+ pure produces infinite lefts:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ Use --quickcheck-replay=824521 to reproduce.
+ pure produces infinite rights:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.Apply (<*>)#instance ((->) t)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Applicative.hs»»:«:compilation-line-number:132»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Applicative
+ 0
+ 0
+ Use --quickcheck-replay=151535 to reproduce.
+ IsZ <*> IsZ:
FAIL
+ Exception: todo: Course.ListZipper (<*>)#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:640»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ IsNotZ <*> IsZ:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper (<*>)#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:640»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=954645 to reproduce.
+ IsNotZ <*> IsNotZ:
FAIL
+ Exception: todo: Course.ListZipper (<*>)#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:640»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ Extend
+ zipper o' zippers:
FAIL
+ Exception: todo: Course.ListZipper (<<=)#instance ListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:651»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ Extend (MaybeListZipper)
+ IsNotZ:
FAIL
+ Exception: todo: Course.ListZipper (<<=)#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:664»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ IsZ:
FAIL
+ Exception: todo: Course.ListZipper (<<=)#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:664»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ Comonad
+ copure:
FAIL
+ Exception: todo: Course.ListZipper copure#instance ListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:673»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ Traversable
+ All Full:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper traverse#instance ListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:686»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=575918 to reproduce.
+ One Empty:
FAIL
+ Exception: todo: Course.ListZipper traverse#instance ListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:686»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ Traversable (MaybeListZipper)
+ IsNotZ:
FAIL
+ Exception: todo: Course.ListZipper traverse#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:699»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ IsZ Full:
FAIL
+ *** Failed! (after 1 test):
+ Exception:
+ todo: Course.ListZipper traverse#instance MaybeListZipper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/ListZipper.hs»»:«:compilation-line-number:699»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.ListZipper
+ [] >0< []
+ Use --quickcheck-replay=903857 to reproduce.
+ Parser
+ constantParserTest
+ can return error result:
OK
+ can return ParseResult:
OK
+ characterTest
+ parses single character from non-empty string:
FAIL
+ Exception: todo: Course.Parser#character
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:123»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parsing empty string is an error:
FAIL
+ Exception: todo: Course.Parser#character
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:123»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ functorTest
+ toUpper <$>:
FAIL
+ Exception: todo: Course.Parser (<$>)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:136»:«:compilation-column-number:6»
in course-0.1.4-inplace:Course.Parser
+ valueParserTest
+ succeeds with given value:
FAIL
+ Exception: todo: Course.Parser#valueParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:146»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ alternativeParserTest
+ first fails, second succeeds with no input:
FAIL
+ Exception: todo: Course.Parser#(|||)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ first always fails, second succeeds with no input:
FAIL
+ Exception: todo: Course.Parser#(|||)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ first always fails, second succeeds with input:
FAIL
+ Exception: todo: Course.Parser#(|||)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ takes first parse result when it succeeds:
FAIL
+ Exception: todo: Course.Parser#(|||)
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parserMonadInstanceTest
+ first parse fails:
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ second parse fails:
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ bind to valueParser:
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ bind to valueParser with no more input:
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ bind to character parser with remaining input:
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ parserApplicativeInstanceTest
+ pure:
FAIL
+ Exception: todo: Course.Parser#valueParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:146»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ pure an Optional value:
FAIL
+ Exception: todo: Course.Parser#valueParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:146»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ pure toUpper <*>:
FAIL
+ Exception: todo: Course.Parser (<*>)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:217»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ pure show <*>:
FAIL
+ Exception: todo: Course.Parser (<*>)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:217»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ satisfyTest
+ when character satisfies predicate:
FAIL
+ Exception: todo: Course.Parser#satisfy
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:236»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ is error when preidcate not satisfied:
FAIL
+ Exception: todo: Course.Parser#satisfy
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:236»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ digitTest
+ is error when input empty:
FAIL
+ Exception: todo: Course.Parser#digit
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:260»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ is error when character not digit:
FAIL
+ Exception: todo: Course.Parser#digit
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:260»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ succeeds when character is a digit :
FAIL
+ Exception: todo: Course.Parser#digit
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:260»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ spaceTest
+ fails when input empty:
FAIL
+ Exception: todo: Course.Parser#space
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:273»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails when character not space:
FAIL
+ Exception: todo: Course.Parser#space
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:273»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ succeeds when first character is a space:
FAIL
+ Exception: todo: Course.Parser#space
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:273»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ listTest
+ succeeds on empty input:
FAIL
+ Exception: todo: Course.Parser#list
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:300»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses for as long as characters match:
FAIL
+ Exception: todo: Course.Parser#list
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:300»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses empty value when no matching characters:
FAIL
+ Exception: todo: Course.Parser#list
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:300»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses entire input if matches:
FAIL
+ Exception: todo: Course.Parser#list
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:300»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses for as long as characters match:
FAIL
+ Exception: todo: Course.Parser#list
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:300»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ succeeds on empty input with value parser:
FAIL
+ Exception: todo: Course.Parser#list
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:300»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ list1Test
+ succeeds when at least one character matches:
FAIL
+ Exception: todo: Course.Parser#list1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:319»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ succeeds when at least one character matches:
FAIL
+ Exception: todo: Course.Parser#list1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:319»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ no matching chars fails:
FAIL
+ Exception: todo: Course.Parser#list1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:319»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ spaces1Test
+ fails on empty string:
FAIL
+ Exception: todo: Course.Parser#spaces1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:332»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ consumes single space:
FAIL
+ Exception: todo: Course.Parser#spaces1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:332»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ consumes multiple spaces:
FAIL
+ Exception: todo: Course.Parser#spaces1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:332»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ lowerTest
+ fails on empty string:
FAIL
+ Exception: todo: Course.Parser#lower
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:344»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails if character is not lowercase:
FAIL
+ Exception: todo: Course.Parser#lower
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:344»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces lowercase character:
FAIL
+ Exception: todo: Course.Parser#lower
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:344»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ upperTest
+ fails on empty string:
FAIL
+ Exception: todo: Course.Parser#upper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails if character is not uppercase:
FAIL
+ Exception: todo: Course.Parser#upper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces uppercase character:
FAIL
+ Exception: todo: Course.Parser#upper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ alphaTest
+ fails on empty string:
FAIL
+ Exception: todo: Course.Parser#alpha
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:368»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails if character is not alpha:
FAIL
+ Exception: todo: Course.Parser#alpha
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:368»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces alpha character:
FAIL
+ Exception: todo: Course.Parser#upper
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:356»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ sequenceParserTest
+ fails on first failing parser:
FAIL
+ Exception: todo: Course.Parser#sequenceParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:385»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ sequences list of successful parsers:
FAIL
+ Exception: todo: Course.Parser#sequenceParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:385»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ thisManyTest
+ fails when not enough matches:
FAIL
+ Exception: todo: Course.Parser#thisMany
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:402»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces n values when matched:
FAIL
+ Exception: todo: Course.Parser#thisMany
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:402»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ ageParserTest (done for you)
+ fails on invalid age (all letters):
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ fails on invalid age (leading '-'):
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ parses valid age:
FAIL
+ Exception: todo: Course.Parser (=<<)#instance Parser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:202»:«:compilation-column-number:5»
in course-0.1.4-inplace:Course.Parser
+ firstNameParserTest
+ fails on first name that doesn't start with a capital:
FAIL
+ Exception: todo: Course.Parser#firstNameParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:435»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses valid first name:
FAIL
+ Exception: todo: Course.Parser#firstNameParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:435»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ surnameParserTest
+ fails on short surname:
FAIL
+ Exception: todo: Course.Parser#surnameParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on short surname starting with a lower case letter:
FAIL
+ Exception: todo: Course.Parser#surnameParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses shortest valid surname:
FAIL
+ Exception: todo: Course.Parser#surnameParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses long surname:
FAIL
+ Exception: todo: Course.Parser#surnameParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:457»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ smokerParserTest
+ fails on non y/n value:
FAIL
+ Exception: todo: Course.Parser#smokerParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:476»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses y, leaving remaining input:
FAIL
+ Exception: todo: Course.Parser#smokerParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:476»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses n, leaving remaining input:
FAIL
+ Exception: todo: Course.Parser#smokerParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:476»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ phoneBodyParserTest
+ produces empty list when no characters match:
FAIL
+ Exception: todo: Course.Parser#phoneBodyParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:498»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses valid phone body value:
FAIL
+ Exception: todo: Course.Parser#phoneBodyParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:498»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ parses up to first letter:
FAIL
+ Exception: todo: Course.Parser#phoneBodyParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:498»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ phoneParserTest
+ fails without trailing '#':
FAIL
+ Exception: todo: Course.Parser#phoneParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:520»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails when input starts with a letter:
FAIL
+ Exception: todo: Course.Parser#phoneParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:520»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces valid phone number:
FAIL
+ Exception: todo: Course.Parser#phoneParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:520»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces a valid phone number with remaining input:
FAIL
+ Exception: todo: Course.Parser#phoneParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:520»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ personParserTest
+ fails on empty string:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on invalid age:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on first name that doesn't start with capital:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on surname that is too short:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on surname that doesn't start with a capital letter:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on invalid smoker value 'x':
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on phone number containing an 'x':
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on phone number starting with '-':
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ fails on phone number without a trailing '#':
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces person for valid input:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces person for valid input and keeps remaining input:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ produces person for valid input containing extra whitespace:
FAIL
+ Exception: todo: Course.Parser#personParser
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Parser.hs»»:«:compilation-line-number:578»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Parser
+ MoreParser
+ spacesTest
+ can parse zero spaces:
FAIL
+ Exception: todo: Course.MoreParser#spaces
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:44»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ can parse single space:
FAIL
+ Exception: todo: Course.MoreParser#spaces
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:44»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ can parse multiple spaces:
FAIL
+ Exception: todo: Course.MoreParser#spaces
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:44»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ tokTest
+ can parse input without spaces:
FAIL
+ Exception: todo: Course.MoreParser#tok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:60»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ can parse single space:
FAIL
+ Exception: todo: Course.MoreParser#tok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:60»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ can parse multiple spaces:
FAIL
+ Exception: todo: Course.MoreParser#tok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:60»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ charTokTest
+ fails when character does not match:
FAIL
+ Exception: todo: Course.MoreParser#charTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:75»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses matching character:
FAIL
+ Exception: todo: Course.MoreParser#charTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:75»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses matching character, dropping space:
FAIL
+ Exception: todo: Course.MoreParser#charTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:75»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses matching character, dropping spaces:
FAIL
+ Exception: todo: Course.MoreParser#charTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:75»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ commaTokTest
+ fails when character is not a comma:
FAIL
+ Exception: todo: Course.MoreParser#commaTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:89»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses leading comma:
FAIL
+ Exception: todo: Course.MoreParser#commaTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:89»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses leading comma, dropping space:
FAIL
+ Exception: todo: Course.MoreParser#commaTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:89»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses leading comma, dropping multiple spaces:
FAIL
+ Exception: todo: Course.MoreParser#commaTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:89»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ quoteTest
+ fails when character is not a single or double quote:
FAIL
+ Exception: todo: Course.MoreParser#quote
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:106»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses single quote:
FAIL
+ Exception: todo: Course.MoreParser#quote
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:106»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses double quote:
FAIL
+ Exception: todo: Course.MoreParser#quote
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:106»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ stringTest
+ fails when string is not matched:
FAIL
+ Exception: todo: Course.MoreParser#string
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:121»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses matching string, leaves remaining input:
FAIL
+ Exception: todo: Course.MoreParser#string
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:121»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses matching string:
FAIL
+ Exception: todo: Course.MoreParser#string
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:121»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ stringTokTest
+ fails when string is not matched:
FAIL
+ Exception: todo: Course.MoreParser#stringTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:136»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses matching string followed by zero spaces:
FAIL
+ Exception: todo: Course.MoreParser#stringTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:136»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses matching string followed by many spaces:
FAIL
+ Exception: todo: Course.MoreParser#stringTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:136»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ optionTest
+ produces parsed value when parser succeeds:
FAIL
+ Exception: todo: Course.MoreParser#option
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:152»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ produces given value when parser fails:
FAIL
+ Exception: todo: Course.MoreParser#option
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:152»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ digits1Test
+ fails when no digits at start of input:
FAIL
+ Exception: todo: Course.MoreParser#digits1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:166»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds on digits:
FAIL
+ Exception: todo: Course.MoreParser#digits1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:166»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds on digits, leaves remaining input:
FAIL
+ Exception: todo: Course.MoreParser#digits1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:166»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ oneofTest
+ fails when given character not in string:
FAIL
+ Exception: todo: Course.MoreParser#oneof
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:181»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ given character prefixes input:
FAIL
+ Exception: todo: Course.MoreParser#oneof
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:181»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ noneofTest
+ fails when one of given characters prefixes input:
FAIL
+ Exception: todo: Course.MoreParser#noneof
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:196»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds when none of the given characters in input:
FAIL
+ Exception: todo: Course.MoreParser#noneof
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:196»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds when none of the given characters prefixes input:
FAIL
+ Exception: todo: Course.MoreParser#noneof
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:196»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ betweenTest
+ fails when opening parse fails:
FAIL
+ Exception: todo: Course.MoreParser#between
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:220»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when surrounded parser fails:
FAIL
+ Exception: todo: Course.MoreParser#between
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:220»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when closing parse fails:
FAIL
+ Exception: todo: Course.MoreParser#between
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:220»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds: character surrounded by []':
FAIL
+ Exception: todo: Course.MoreParser#between
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:220»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds: digits surrounded by []:
FAIL
+ Exception: todo: Course.MoreParser#between
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:220»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ betweenCharTokTest
+ fails when opening character not present:
FAIL
+ Exception: todo: Course.MoreParser#betweenCharTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:243»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when closing character not present:
FAIL
+ Exception: todo: Course.MoreParser#betweenCharTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:243»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when surrounded parser fails:
FAIL
+ Exception: todo: Course.MoreParser#betweenCharTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:243»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds: character:
FAIL
+ Exception: todo: Course.MoreParser#betweenCharTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:243»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds: digits1:
FAIL
+ Exception: todo: Course.MoreParser#betweenCharTok
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:243»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ hexTest
+ fails on invalid hex string --- too short:
FAIL
+ Exception: todo: Course.MoreParser#hex
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:263»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails on invalid hex string --- invalid char (x):
FAIL
+ Exception: todo: Course.MoreParser#hex
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:263»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds on valid hex value:
FAIL
+ Exception: todo: Course.MoreParser#hex
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:263»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ hexuTest
+ fails when no u at start:
FAIL
+ Exception: todo: Course.MoreParser#hexu
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:286»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when not 4 hex digits after u:
FAIL
+ Exception: todo: Course.MoreParser#hexu
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:286»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails on invalid hex digit:
FAIL
+ Exception: todo: Course.MoreParser#hexu
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:286»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds on valid input --- u0010:
FAIL
+ Exception: todo: Course.MoreParser#hexu
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:286»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds on valid input --- u0a1f:
FAIL
+ Exception: todo: Course.MoreParser#hexu
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:286»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ sepby1Test
+ fails when first parser fails:
FAIL
+ Exception: todo: Course.MoreParser#sepby1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:309»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses single character not followed by seperator:
FAIL
+ Exception: todo: Course.MoreParser#sepby1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:309»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ parses multiple matches with separators:
FAIL
+ Exception: todo: Course.MoreParser#sepby1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:309»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds until two separators:
FAIL
+ Exception: todo: Course.MoreParser#sepby1
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:309»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ sepbyTest
+ succeeds on empty string:
FAIL
+ Exception: todo: Course.MoreParser#sepby
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:332»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds on single match without seperator:
FAIL
+ Exception: todo: Course.MoreParser#sepby
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:332»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds on multiple matches with seperators:
FAIL
+ Exception: todo: Course.MoreParser#sepby
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:332»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds until two separators:
FAIL
+ Exception: todo: Course.MoreParser#sepby
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:332»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ eofTest
+ fails when still input left:
FAIL
+ Exception: todo: Course.MoreParser#eof
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:344»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds when no input left:
FAIL
+ Exception: todo: Course.MoreParser#eof
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:344»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ satisfyAllTest
+ fails when a predicate fails:
FAIL
+ Exception: todo: Course.MoreParser#satisfyAll
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:368»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when no predicates satisfied (empty input):
FAIL
+ Exception: todo: Course.MoreParser#satisfyAll
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:368»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when no predicates satisfied:
FAIL
+ Exception: todo: Course.MoreParser#satisfyAll
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:368»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds when all predicates satisfied: ABC:
FAIL
+ Exception: todo: Course.MoreParser#satisfyAll
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:368»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds when all predicates satisfied: ABc:
FAIL
+ Exception: todo: Course.MoreParser#satisfyAll
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:368»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ satisfyAnyTest
+ fails when no predicates satisfied:
FAIL
+ Exception: todo: Course.MoreParser#satisfyAny
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:389»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when no predicates satisfied (empty input):
FAIL
+ Exception: todo: Course.MoreParser#satisfyAny
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:389»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds when all predicates satisfied:
FAIL
+ Exception: todo: Course.MoreParser#satisfyAny
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:389»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds when one of two predicates satisfied:
FAIL
+ Exception: todo: Course.MoreParser#satisfyAny
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:389»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ betweenSepbyCommaTest
+ fails when opening char missing:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when closing char missing:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when input between seperators doesn't match (multiple matches):
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ fails when input between seperators doesn't match:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds --- one match:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds --- nothing between surrounds:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds --- 3 matches:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds --- 3 padded matches:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ succeeds --- digits1:
FAIL
+ Exception: todo: Course.MoreParser#betweenSepbyComma
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/MoreParser.hs»»:«:compilation-line-number:427»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.MoreParser
+ JsonParser
+ jsonString
+ parse whole ASCII input:
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ parse only the first string of input:
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ parse back slash (\):
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ parse unicode (\u00abc):
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ parse unicode (\u00ff):
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ parse unicode (\u00fa):
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ parsing string without quotes is an error:
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ parsing string containing \a is an error - \a isn't a special character:
FAIL
+ Exception: todo: Course.JsonParser#jsonString
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:113»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ jsonNumber
+ positive whole:
FAIL
+ Exception: todo: Course.JsonParser#jsonNumber
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:142»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ negative whole:
FAIL
+ Exception: todo: Course.JsonParser#jsonNumber
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:142»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ positive decimal:
FAIL
+ Exception: todo: Course.JsonParser#jsonNumber
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:142»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ negative whole (2):
FAIL
+ Exception: todo: Course.JsonParser#jsonNumber
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:142»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ negative decimal:
FAIL
+ Exception: todo: Course.JsonParser#jsonNumber
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:142»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ negative sign on its own is error:
FAIL
+ Exception: todo: Course.JsonParser#jsonNumber
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:142»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ alphabetic characters is error:
FAIL
+ Exception: todo: Course.JsonParser#jsonNumber
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:142»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ jsonTrue
+ parses true:
FAIL
+ Exception: todo: Course.JsonParser#jsonTrue
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:156»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ TRUE (caps) is an error:
FAIL
+ Exception: todo: Course.JsonParser#jsonTrue
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:156»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ jsonFalse
+ parses false:
FAIL
+ Exception: todo: Course.JsonParser#jsonFalse
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ FALSE (caps) is an error:
FAIL
+ Exception: todo: Course.JsonParser#jsonFalse
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:170»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ jsonNull
+ parses null:
FAIL
+ Exception: todo: Course.JsonParser#jsonNull
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:184»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ NULL (caps) is an error:
FAIL
+ Exception: todo: Course.JsonParser#jsonNull
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:184»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ jsonArray
+ []:
FAIL
+ Exception: todo: Course.JsonParser#jsonArray
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:207»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ [true]:
FAIL
+ Exception: todo: Course.JsonParser#jsonArray
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:207»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ [true, "abc"]:
FAIL
+ Exception: todo: Course.JsonParser#jsonArray
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:207»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ [true, "abc", []]:
FAIL
+ Exception: todo: Course.JsonParser#jsonArray
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:207»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ [true, "abc", [false]]:
FAIL
+ Exception: todo: Course.JsonParser#jsonArray
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:207»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ jsonObject
+ empty:
FAIL
+ Exception: todo: Course.JsonParser#jsonObject
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:227»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ one key:
FAIL
+ Exception: todo: Course.JsonParser#jsonObject
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:227»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ two keys:
FAIL
+ Exception: todo: Course.JsonParser#jsonObject
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:227»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ two keys and left over input:
FAIL
+ Exception: todo: Course.JsonParser#jsonObject
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:227»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ jsonValue
+ true:
FAIL
+ Exception: todo: Course.JsonParser#jsonValue
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:244»:«:compilation-column-number:4»
in course-0.1.4-inplace:Course.JsonParser
+ object:
FAIL
+ Exception: todo: Course.JsonParser#jsonObject
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:227»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ nested object:
FAIL
+ Exception: todo: Course.JsonParser#jsonObject
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/JsonParser.hs»»:«:compilation-line-number:227»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.JsonParser
+ Cheque
+ dollars
+ empty:
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '1':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '0.1':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '1.':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '0.':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '0.0':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '.34':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '0.3456789':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '1.0':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '1.01':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars 'a1a':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars 'a1a.a0.7b':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '100':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '100.0':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '100.00':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '100.00000':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '1000456.13':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '1001456.13':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '16000000456.13':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '100.45':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '100.07':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '9abc9def9ghi.jkl9mno':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars '12345.67':
FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+ dollars
'456789123456789012345678901234567890123456789012345678901234567890.12': FAIL
+ Exception: todo: Course.Cheque#dollars
+ CallStack (from HasCallStack):
+ error, called at
«U:«:compilation-error:src/Course/Cheque.hs»»:«:compilation-line-number:327»:«:compilation-column-number:3»
in course-0.1.4-inplace:Course.Cheque
+
+568 out of 591 tests failed (0.06s)
+
+Test suite tasty: FAIL
+Test suite logged to:
+/home/tseenshe/fp-course/dist-newstyle/build/x86_64-linux/ghc-8.4.4/course-0.1.4/t/tasty/noopt/test/course-0.1.4-tasty.log
+0 of 1 test suites (0 of 1 test cases) passed.
+cabal: Tests failed for test:tasty from course-0.1.4.
+
- [nongnu] elpa/haskell-tng-mode 923fa9e 344/385: bugfixes in jump-to-definition, (continued)
- [nongnu] elpa/haskell-tng-mode 923fa9e 344/385: bugfixes in jump-to-definition, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 3939303 334/385: importing from the hsinspect index will update the buffer cache, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 3ea52c1 341/385: special case jumping to inplace packages, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 4217d98 378/385: fixup! third party tools use project specific PATH, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode f7f0e0f 383/385: moar extras, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 2017d07 384/385: widen hsinspect range, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 083e80a 110/385: assert on alternative indentation order, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode ec1ac46 361/385: document a bug, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 4b598b2 377/385: third party tools use project specific PATH, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode aaf7c55 370/385: support for hsinspect-lsp, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode b3e6c9a 113/385: compilation mode regression tests vs haskell-mode,
ELPA Syncer <=
- [nongnu] elpa/haskell-tng-mode 99a7f10 337/385: cleanup, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode e6d8761 343/385: local jump-to-definition should error, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode c31afdb 272/385: missing CPP case, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 85c4dd5 233/385: fix bugfix in goto-import, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 5c157fb 255/385: rigid ormolu support, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 64ec84d 260/385: if/then/else indentation, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 1d53572 243/385: bugfixes, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode d1e599a 285/385: switch formatting backend based on project config, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode fd06b8f 264/385: move haskell-tng-newline into the -extra package, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 8ff79e7 247/385: allow parallelism, ELPA Syncer, 2021/10/06