commit a78cba0a3feea6a11072940a04eba309c63f525b
parent ff83e03e0cb695c95b8ad3ef1d6ed9c402c1f07a
Author: Daniel Barlow <dan@telent.net>
Date: Fri, 16 Sep 2022 10:27:40 +0100
add test= macro for prettier assertions
Diffstat:
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git 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 }