Revision b316cb06 gnuradio-core/src/guile/qa_0000_basics.scm
| b/gnuradio-core/src/guile/qa_0000_basics.scm | ||
|---|---|---|
| 1 | 1 |
(use-modules (gnuradio core)) |
| 2 | 2 |
(use-modules (oop goops)) |
| 3 |
;;(use-modules (ice-9 format)) |
|
| 4 |
;;(use-modules (ice-9 pretty-print)) |
|
| 3 | 5 |
|
| 4 |
(load-from-path "srfi/srfi-64") |
|
| 5 |
(use-modules (ice-9 format)) |
|
| 6 |
(use-modules (ice-9 pretty-print)) |
|
| 7 |
|
|
| 8 |
;; (write "Hello QA world!\n") |
|
| 6 |
(load-from-path "srfi/srfi-64") ; unit test library |
|
| 9 | 7 |
|
| 10 | 8 |
(define (vector-map f v) |
| 11 | 9 |
(list->vector (map f (vector->list v)))) |
| 12 | 10 |
|
| 13 |
(define (test-1) |
|
| 11 |
(define (test-connect-1)
|
|
| 14 | 12 |
(let* ((src-data #(-5 -4 -3 -2 -1 0 1 2 3 4 5)) |
| 15 | 13 |
(expected-result (vector-map (lambda (x) (* x 2)) src-data)) |
| 16 |
(tb (gr:top-block-swig "my top block"))
|
|
| 14 |
(tb (gr:top-block-swig "QA top block"))
|
|
| 17 | 15 |
(src (gr:vector-source-i src-data #f)) |
| 18 | 16 |
(op (gr:multiply-const-ii 2)) |
| 19 | 17 |
(dst (gr:vector-sink-i))) |
| ... | ... | |
| 26 | 24 |
(let ((actual-result (gr:data dst))) |
| 27 | 25 |
(test-equal expected-result actual-result)))) |
| 28 | 26 |
|
| 29 |
(define (test-2) |
|
| 27 |
(define (test-connect-2)
|
|
| 30 | 28 |
(let* ((src-data #(-5 -4 -3 -2 -1 0 1 2 3 4 5)) |
| 31 | 29 |
(expected-result (vector-map (lambda (x) (* x 2)) src-data)) |
| 32 |
(tb (gr:top-block-swig "my top block"))
|
|
| 30 |
(tb (gr:top-block-swig "QA top block"))
|
|
| 33 | 31 |
(src (gr:vector-source-i src-data #f)) |
| 34 | 32 |
(op (gr:multiply-const-ii 2)) |
| 35 | 33 |
(dst (gr:vector-sink-i))) |
| ... | ... | |
| 42 | 40 |
(let ((actual-result (gr:data dst))) |
| 43 | 41 |
(test-equal expected-result actual-result)))) |
| 44 | 42 |
|
| 45 |
(define (test-3) |
|
| 43 |
(define (test-connect-3)
|
|
| 46 | 44 |
(let* ((src-data #(-5 -4 -3 -2 -1 0 1 2 3 4 5)) |
| 47 | 45 |
(expected-result (vector-map (lambda (x) (* x 2)) src-data)) |
| 48 |
(tb (gr:top-block-swig "my top block"))
|
|
| 46 |
(tb (gr:top-block-swig "QA top block"))
|
|
| 49 | 47 |
(src (gr:vector-source-i src-data #f)) |
| 50 | 48 |
(op (gr:multiply-const-ii 2)) |
| 51 | 49 |
(dst (gr:vector-sink-i))) |
| ... | ... | |
| 58 | 56 |
(let ((actual-result (gr:data dst))) |
| 59 | 57 |
(test-equal expected-result actual-result)))) |
| 60 | 58 |
|
| 61 |
(define (test-4) |
|
| 59 |
(define (test-connect-4)
|
|
| 62 | 60 |
(let* ((src-data #(-5 -4 -3 -2 -1 0 1 2 3 4 5)) |
| 63 | 61 |
(expected-result (vector-map (lambda (x) (* x 2)) src-data)) |
| 64 |
(tb (gr:top-block-swig "my top block"))
|
|
| 62 |
(tb (gr:top-block-swig "QA top block"))
|
|
| 65 | 63 |
(src (gr:vector-source-i src-data #f)) |
| 66 | 64 |
(op (gr:multiply-const-ii 2)) |
| 67 | 65 |
(dst (gr:vector-sink-i))) |
| ... | ... | |
| 73 | 71 |
(let ((actual-result (gr:data dst))) |
| 74 | 72 |
(test-equal expected-result actual-result)))) |
| 75 | 73 |
|
| 74 |
(define (test-io-signature-1) |
|
| 75 |
(let ((ios1 (gr:io-signature 1 2 8)) |
|
| 76 |
(ios2 (gr:io-signature2 1 2 16 32)) |
|
| 77 |
(ios3 (gr:io-signature3 1 -1 14 32 48)) |
|
| 78 |
(iosv (gr:io-signaturev 1 4 '(1 2 3)))) |
|
| 79 |
|
|
| 80 |
(test-equal 1 (gr:min-streams ios1)) |
|
| 81 |
(test-equal 2 (gr:max-streams ios1)) |
|
| 82 |
(test-equal 8 (gr:sizeof-stream-item ios1 0)) |
|
| 83 |
(test-equal 8 (gr:sizeof-stream-item ios1 1)) |
|
| 84 |
|
|
| 85 |
(test-equal 1 (gr:min-streams ios2)) |
|
| 86 |
(test-equal 2 (gr:max-streams ios2)) |
|
| 87 |
(test-equal 16 (gr:sizeof-stream-item ios2 0)) |
|
| 88 |
(test-equal 32 (gr:sizeof-stream-item ios2 1)) |
|
| 89 |
|
|
| 90 |
(test-equal 1 (gr:min-streams ios3)) |
|
| 91 |
(test-equal -1 (gr:max-streams ios3)) |
|
| 92 |
(test-equal 14 (gr:sizeof-stream-item ios3 0)) |
|
| 93 |
(test-equal 32 (gr:sizeof-stream-item ios3 1)) |
|
| 94 |
(test-equal 48 (gr:sizeof-stream-item ios3 2)) |
|
| 95 |
(test-equal '#(14 32 48) (gr:sizeof-stream-items ios3)) |
|
| 96 |
|
|
| 97 |
(test-equal 1 (gr:min-streams iosv)) |
|
| 98 |
(test-equal 4 (gr:max-streams iosv)) |
|
| 99 |
(test-equal 1 (gr:sizeof-stream-item iosv 0)) |
|
| 100 |
(test-equal 2 (gr:sizeof-stream-item iosv 1)) |
|
| 101 |
(test-equal 3 (gr:sizeof-stream-item iosv 2)) |
|
| 102 |
(test-equal 3 (gr:sizeof-stream-item iosv 3)) |
|
| 103 |
(test-equal '#(1 2 3) (gr:sizeof-stream-items iosv)) |
|
| 104 |
)) |
|
| 105 |
|
|
| 106 |
|
|
| 76 | 107 |
|
| 77 | 108 |
(test-begin "qa_0000_basics") |
| 78 |
(test-1) |
|
| 79 |
(test-2) |
|
| 80 |
(test-3) |
|
| 81 |
(test-4) |
|
| 109 |
(test-connect-1) |
|
| 110 |
(test-connect-2) |
|
| 111 |
(test-connect-3) |
|
| 112 |
(test-connect-4) |
|
| 113 |
(test-io-signature-1) |
|
| 82 | 114 |
(test-end "qa_0000_basics") |
Also available in: Unified diff