diff --git a/src/Status.mo b/src/Status.mo new file mode 100644 index 0000000..c666a9f --- /dev/null +++ b/src/Status.mo @@ -0,0 +1,18 @@ +import { debugPrint } = "mo:⛔"; + +module { + public class Status() { + var _pass = 0; + public func pass() { _pass += 1 }; + public func passed() : Nat { _pass }; + + var _fail = 0; + public func fail() { _fail += 1 }; + public func failed() : Nat { _fail }; + + public func printStatus() { + let total = debug_show(_pass + _fail); + debugPrint("🟢 " # debug_show(_pass) # "/" # total # " | 🛑 " # debug_show(_fail) # "/" # total # "\n"); + }; + }; +}; diff --git a/src/Suite.mo b/src/Suite.mo index c3d0f21..46bcc9c 100644 --- a/src/Suite.mo +++ b/src/Suite.mo @@ -1,4 +1,5 @@ import { debugPrint } = "mo:⛔"; +import Status "Status"; import Testify "Testify"; module { @@ -32,23 +33,8 @@ module { #Test(name, test); }; - private class Status() { - var _pass = 0; - public func pass() { _pass += 1 }; - public func passed() : Nat { _pass }; - - var _fail = 0; - public func fail() { _fail += 1 }; - public func failed() : Nat { _fail }; - - public func printStatus() { - let total = debug_show(_pass + _fail); - debugPrint("🟢 " # debug_show(_pass) # "/" # total # " | 🛑 " # debug_show(_fail) # "/" # total # "\n"); - }; - }; - public class Suite() { - let s : Status = Status(); + let s = Status.Status(); var indent = 0; public func print(t : Text) { diff --git a/src/SuiteState.mo b/src/SuiteState.mo index e6de9c3..bfdb6ba 100644 --- a/src/SuiteState.mo +++ b/src/SuiteState.mo @@ -1,4 +1,5 @@ import { debugPrint } = "mo:⛔"; +import Status "Status"; import Testify "Testify"; module { @@ -36,25 +37,10 @@ module { #Test(name, test); }; - private class Status() { - var _pass = 0; - public func pass() { _pass += 1 }; - public func passed() : Nat { _pass }; - - var _fail = 0; - public func fail() { _fail += 1 }; - public func failed() : Nat { _fail }; - - public func printStatus() { - let total = debug_show(_pass + _fail); - debugPrint("🟢 " # debug_show(_pass) # "/" # total # " | 🛑 " # debug_show(_fail) # "/" # total # "\n"); - }; - }; - private func doNothing() : Testing { func (_ : T) {} }; public class Suite(state : T) { - let s : Status = Status(); + let s = Status.Status(); var _before : Testing = doNothing(); public func before(c : Testing) { _before := c; };