]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - tests/foreign-record.scm
Bindings refactor
[guile-irrlicht.git] / tests / foreign-record.scm
index 39b8c44564889d32e51c55d069cbe456c46eae76..9bc8dee46676839c9dd9f5c8ef11c954a86a68fe 100644 (file)
@@ -20,7 +20,7 @@
 
 (use-modules (system foreign)
              (srfi srfi-64)
-             (irrlicht util))
+             (irrlicht util foreign))
 
 (test-begin "foreign-record")
 
@@ -33,6 +33,7 @@
 
 ;; Create dimension
 (define dim (make-dimension2d 10 20))
+(test-assert (dimension2d? dim))
 (test-equal 10 (dimension2d-width dim))
 (test-equal 20 (dimension2d-height dim))
 
 ;; Is a pointer
 (test-assert (pointer? (foreign-record->pointer dim)))
 
+;; Foreign record types as types for other foreign records
+(define-foreign-record-type point
+  (make-point x y)
+  point?
+  (x int64 point-x)
+  (y int64 point-y))
+
+(define-foreign-record-type triangle
+  (make-triangle p1 p2 p3)
+  triangle?
+  (p1 point triangle-p1)
+  (p2 point triangle-p2)
+  (p3 point triangle-p3))
+
+;(define tr (make-triangle (make-point 0 10) (make-point -10 5) (make-point 15 -7)))
+;(test-equal -10 (point-x (triangle-p2 tr)))
+
 (test-end "foreign-record")