summaryrefslogtreecommitdiff
path: root/ebus-racket/parser-test.rkt
blob: 672dff219a67cbfa8bc3a8500d92307f0891ac36 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#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
                                                     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-header-source (parser:ebus-paket-header paket)) 003)
      (check-eq? (parser:ebus-header-destination (parser:ebus-paket-header paket)) 241)
      (check-eq? (parser:ebus-header-primaryCommand (parser:ebus-paket-header paket)) 008)
      (check-eq? (parser:ebus-header-secondaryCommand (parser:ebus-paket-header paket)) 000)
      (check-eq? (parser:ebus-header-payloadLength (parser:ebus-paket-header paket)) 008)
      (check-eq? (parser:ebus-header-payloadLength (parser:ebus-paket-header paket))
                 (length (parser:ebus-paket-payload paket)))
      ))))
      
;(check-equal? (my-+ 1 1) 2 "Simple addition")

   ;(check-equal? (my-* 1 2) 2 "Simple multiplication")
; 
;   (test-case
;    "List has length 4 and all elements even"
;    (let ([lst (list 2 4 6 9)])
;      (check = (length lst) 4)
;      (for-each
;        (lambda (elt)
;          (check-pred even? elt))
;      lst)))))


(run-tests parser-test)