From a78cba0a3feea6a11072940a04eba309c63f525b Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Fri, 16 Sep 2022 10:27:40 +0100 Subject: [PATCH] add test= macro for prettier assertions --- sms.fnl | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/sms.fnl b/sms.fnl index 26dfa08..c5ea156 100644 --- a/sms.fnl +++ b/sms.fnl @@ -11,6 +11,15 @@ (local gsm-char (require :unicode-to-gsm)) +(macro test= [expr expected] + `(let [a# ,expr + e# ,expected] + (if (not (= a# e#)) + (assert false (.. "expected " ,(view expr) " = " e# + ", actual " a#))))) + +(test= (+ 5 4) 9) + (fn escape-for-logging [s] (s:gsub "%c" (fn [x] (.. "{" (string.byte x) "}")))) @@ -51,8 +60,8 @@ (let [n (if (even? (# number)) number (.. number "F"))] (n:gsub ".." (fn [s] (.. (s:sub 2 2) (s:sub 1 1)))))) -(assert (= (phone-number->hex "447000123456") "440700214365")) -(assert (= (phone-number->hex "85291234567") "5892214365F7")) +(test= (phone-number->hex "85291234567") "5892214365F7") +(test= (phone-number->hex "447785016005") "447758100650") (fn mask [start end] (let [width (+ 1 (- end start))] @@ -123,7 +132,7 @@ ;; per worked example at https://www.developershome.com/sms/cmgsCommand4.asp -(assert (= (message->pdu "85291234567" "It is easy to send text messages.") "01000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E")) +(test= (message->pdu "85291234567" "It is easy to send text messages.") "01000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E") (fn command [fd s] @@ -160,6 +169,4 @@ (tx "\026\r\n") (expect "OK"))))) -;(send-sms "447000123456" "It is never {easy} to [send] text messages.") - { :send send-sms }