summaryrefslogtreecommitdiff
path: root/ebus-racket/parser-test.rkt
blob: 1b4bc7134873cf17a107323e47a97fc6976b3ed8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#lang racket
(require rackunit
         rackunit/text-ui
         (prefix-in parser: "parser.rkt"))

(define parser-test
  (test-suite
   "Tests for Ebus Parser"
   (test-case
    "Test sample Master-Master Paket"
    (let
        ([paket (parser:read-ebus (open-input-bytes (bytes
                                                     170 ; SYN
                                                     170 
                                                     003 ; Source 
                                                     241 ; Destination
                                                     008 ; primaryCommand
                                                     000 ; secondaryCommand
                                                     008 ; payloadLength
                                                     128 ; p1
                                                     040 ; p2
                                                     230 ; p3
                                                     002 ; p4
                                                     000 ; p5
                                                     002 ; p6
                                                     000 ; p7
                                                     010 ; p8
                                                     128 ; CRC
                                                     000 ; ACK
                                                     170 ; SYN
                                                     170)))])
      (check-eq? (parser:ebus-paket-source paket) 003)
      (check-eq? (parser:ebus-paket-destination paket) 241)
      (check-eq? (parser:ebus-paket-primaryCommand paket) 008)
      (check-eq? (parser:ebus-paket-secondaryCommand paket) 000)
      (check-eq? (parser:ebus-paket-payloadLength paket) 008)
      (check-eq? (parser:ebus-paket-payloadLength paket)
                 (length (parser:ebus-paket-payload paket)))
      ))))

(run-tests parser-test)