From 63afa259d1e201c8a18420a8c7ef681faf66a09f Mon Sep 17 00:00:00 2001 From: Siraaj Khandkar Date: Wed, 18 Nov 2020 22:59:54 -0500 Subject: [PATCH] Test msg constructor and line splitter --- tt.rkt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tt.rkt b/tt.rkt index d37788d..8ed1243 100644 --- a/tt.rkt +++ b/tt.rkt @@ -133,9 +133,41 @@ [rfc3339-record:year t])]) (msg ts_epoch ts_rfc3339 nick uri text)))))) +(module+ test + (let* ([ts "2020-11-18T22:22:09-0500"] + [tab " "] + [text "Lorem ipsum"] + [nick "foo"] + [uri "bar"] + [actual (str->msg nick uri (string-join (list ts text) tab))] + [expected (msg 1605756129 ts nick uri text)]) + (check-equal? + (msg-ts_epoch actual) + (msg-ts_epoch expected) + "str->msg ts_epoch") + (check-equal? + (msg-ts_rfc3339 actual) + (msg-ts_rfc3339 expected) + "str->msg ts_rfc3339") + (check-equal? + (msg-nick actual) + (msg-nick expected) + "str->msg nick") + (check-equal? + (msg-uri actual) + (msg-uri expected) + "str->msg uri") + (check-equal? + (msg-text actual) + (msg-text expected) + "str->msg text"))) + (define (str->lines str) (string-split str (regexp "[\r\n]+"))) +(module+ test + (check-equal? (str->lines "abc\ndef\n\nghi") '("abc" "def" "ghi"))) + (define (str->msgs nick uri str) (filter-map (λ (line) (str->msg nick uri line)) (str->lines str))) -- 2.20.1