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