blob: dc257a61e388f27dcabf8e384ba0e47a75d6d85b (
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
57
58
59
60
61
62
63
64
65
66
67
68
69
|
;;; -*- Scheme -*-
;;;
;;; Copyright 2010 Free Software Foundation, Inc.
;;;
;;; This file is part of GNU Radio
;;;
;;; GNU Radio is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3, or (at your option)
;;; any later version.
;;;
;;; GNU Radio is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; If you're using Emacs's Scheme mode:
;;; (put 'with-test-prefix 'scheme-indent-function 1)
;;; See the comments in gnuradio/test-suite/lib.scm for info on writing tests.
;;; See also the very end of the file, where the test-equal, test-eqv
;;; and test-eq macros are defined.
(define-module (test-module)
#:use-module (oop goops)
#:use-module (gnuradio core)
#:use-module (gnuradio test-suite lib)
#:duplicates (merge-generics replace check))
;; Use our module
(use-modules (gnuradio howto_swig))
(define (vector-map f v)
(list->vector (map f (vector->list v))))
(with-test-prefix "square-ff"
(let* ((src-data #(-3. 4. -5.5 2. 3.))
(expected-result (vector-map (lambda (x) (* x x)) src-data))
(tb (gr:top-block-swig "QA top block"))
(src (gr:vector-source-f src-data #f))
(op (gr:howto-square-ff))
(dst (gr:vector-sink-f)))
(gr:connect tb src op dst)
(gr:run tb)
(test-equal expected-result (gr:data dst))))
(with-test-prefix "square2-ff"
(let* ((src-data #(-3. 4. -5.5 2. 3.))
(expected-result (vector-map (lambda (x) (* x x)) src-data))
(tb (gr:top-block-swig "QA top block"))
(src (gr:vector-source-f src-data #f))
(op (gr:howto-square2-ff))
(dst (gr:vector-sink-f)))
(gr:connect tb src op dst)
(gr:run tb)
(test-equal expected-result (gr:data dst))))
|