X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fforeign-record.scm;h=9bc8dee46676839c9dd9f5c8ef11c954a86a68fe;hb=2a0373b3eda4407e2e41a4e8fc3a7333bb789a89;hp=39b8c44564889d32e51c55d069cbe456c46eae76;hpb=24f7faa67e7e65ca3f591864d2f6f0f7d71389a0;p=guile-irrlicht.git diff --git a/tests/foreign-record.scm b/tests/foreign-record.scm index 39b8c44..9bc8dee 100644 --- a/tests/foreign-record.scm +++ b/tests/foreign-record.scm @@ -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)) @@ -45,4 +46,21 @@ ;; 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")