Add tests for some types

This commit is contained in:
Joshua Suskalo 2021-09-23 12:29:48 -05:00
parent ebe36e199c
commit c61e60681b

View file

@ -6,4 +6,20 @@
(sut/load-library "target/ffi_test.so") (sut/load-library "target/ffi_test.so")
(t/deftest can-load-symbols (t/deftest can-load-symbols
(t/is (not (nil? (sut/find-symbol "add_points"))))) (t/is (not (nil? (sut/find-symbol "add_numbers")))))
(t/deftest can-call-primitive-fns
(t/is (= 5 ((sut/cfn "add_numbers" [::sut/int ::sut/int] ::sut/int) 2 3))))
(sut/defstruct ::point
:x ::sut/float
:y ::sut/float)
(t/deftest can-call-with-structs
(t/is (= {:x 2.0 :y 2.0}
((sut/cfn "add_points" [::point ::point] ::point) {:x 1 :y 2} {:x 1 :y 0}))))
(t/deftest can-call-deserialized-fn-pointers
(t/is (= "Alternate string"
(((sut/cfn "get_downcall" [::sut/int] [::sut/fn [] ::sut/c-string :wrap-serde? true])
1)))))