;;; -*- 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 . ;;; ;;; 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))))