-;;; guile-irrlicht --- FFI bindings for Irrlicht Engine
-;;; Copyright (C) 2019 Javier Sancho <jsf@jsancho.org>
-;;;
-;;; This file is part of guile-irrlicht.
-;;;
-;;; Guile-irrlicht is free software; you can redistribute it and/or modify
-;;; it under the terms of the GNU Lesser General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; Guile-irrlicht 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 Lesser General Public
-;;; License along with guile-irrlicht. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-
-(use-modules (system foreign)
- (srfi srfi-64)
- (irrlicht util foreign))
-
-(test-begin "foreign-bit-fields")
-
-;; Simple bit field group
-(define bfg (bit-field-group (int8 2) (int8 3) (int8 1)))
-(test-equal (get-bit-field-group-type bfg)
- (list int8))
-(test-equal (make-c-bit-field-group bfg '(1 1 1))
- '(#b100101))
-(test-equal (parse-c-bit-field-group '(#b110011) bfg)
- '(3 4 1))
-
-;; Large bit field group
-(define bfg (bit-field-group (int8 2) (int8 3) (int8 5)))
-(test-equal (get-bit-field-group-type bfg)
- (list int8 int8))
-(test-equal (make-c-bit-field-group bfg '(1 1 2))
- '(#b101 #b10))
-(test-equal (parse-c-bit-field-group '(#b10011 #b10) bfg)
- '(3 4 2))
-
-;; Structs with bit fields
-(define types (list int8 (bit-field-group (int8 2) (int8 3) (int8 2))))
-(test-equal (sizeof+ types) 2)
-(define values '(10 (2 4 3)))
-(test-equal (parse-c-struct+ (make-c-struct+ types values) types) values)
-
-(test-end "foreign-bit-fields")