X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=blobdiff_plain;f=extra%2Fjamshred%2Ftunnel%2Ftunnel-tests.factor;h=4f536fb330bcbee40860877638a3e576b8975f9d;hp=6f85389099c7c1f56637a09b5225f423593cfb44;hb=6d4293b5822d769619f66e46e64b704ddfe41b43;hpb=7f2e2b17771a3d2eaea44b5e116c4a433d061b62 diff --git a/extra/jamshred/tunnel/tunnel-tests.factor b/extra/jamshred/tunnel/tunnel-tests.factor index 6f85389099..4f536fb330 100644 --- a/extra/jamshred/tunnel/tunnel-tests.factor +++ b/extra/jamshred/tunnel/tunnel-tests.factor @@ -1,47 +1,35 @@ ! Copyright (C) 2007, 2008 Alex Chapman ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays jamshred.oint jamshred.tunnel kernel -math.vectors sequences specialized-arrays tools.test ; +math.vectors sequences specialized-arrays tools.test +alien.c-types ; SPECIALIZED-ARRAY: float IN: jamshred.tunnel.tests -[ 0 ] [ T{ segment f { 0 0 0 } f f f 0 } - T{ segment f { 1 1 1 } f f f 1 } - T{ oint f { 0 0 0.25 } } - nearer-segment number>> ] unit-test - -[ 0 ] [ T{ oint f { 0 0 0 } } find-nearest-segment number>> ] unit-test -[ 1 ] [ T{ oint f { 0 0 -1 } } find-nearest-segment number>> ] unit-test -[ 2 ] [ T{ oint f { 0 0.1 -2.1 } } find-nearest-segment number>> ] unit-test - -[ 3 ] [ T{ oint f { 0 0 -3.25 } } 0 nearest-segment-forward number>> ] unit-test - -[ float-array{ 0 0 0 } ] [ T{ oint f { 0 0 -0.25 } } over first nearest-segment location>> ] unit-test - : test-segment-oint ( -- oint ) { 0 0 0 } { 0 0 -1 } { 0 1 0 } { -1 0 0 } ; -[ { -1 0 0 } ] [ test-segment-oint { 1 0 0 } vector-to-centre ] unit-test -[ { 1 0 0 } ] [ test-segment-oint { -1 0 0 } vector-to-centre ] unit-test -[ { 0 -1 0 } ] [ test-segment-oint { 0 1 0 } vector-to-centre ] unit-test -[ { 0 1 0 } ] [ test-segment-oint { 0 -1 0 } vector-to-centre ] unit-test -[ { -1 0 0 } ] [ test-segment-oint { 1 0 -1 } vector-to-centre ] unit-test -[ { 1 0 0 } ] [ test-segment-oint { -1 0 -1 } vector-to-centre ] unit-test -[ { 0 -1 0 } ] [ test-segment-oint { 0 1 -1 } vector-to-centre ] unit-test -[ { 0 1 0 } ] [ test-segment-oint { 0 -1 -1 } vector-to-centre ] unit-test +{ { -1 0 0 } } [ test-segment-oint { 1 0 0 } vector-to-center ] unit-test +{ { 1 0 0 } } [ test-segment-oint { -1 0 0 } vector-to-center ] unit-test +{ { 0 -1 0 } } [ test-segment-oint { 0 1 0 } vector-to-center ] unit-test +{ { 0 1 0 } } [ test-segment-oint { 0 -1 0 } vector-to-center ] unit-test +{ { -1 0 0 } } [ test-segment-oint { 1 0 -1 } vector-to-center ] unit-test +{ { 1 0 0 } } [ test-segment-oint { -1 0 -1 } vector-to-center ] unit-test +{ { 0 -1 0 } } [ test-segment-oint { 0 1 -1 } vector-to-center ] unit-test +{ { 0 1 0 } } [ test-segment-oint { 0 -1 -1 } vector-to-center ] unit-test : simplest-straight-ahead ( -- oint segment ) { 0 0 0 } { 0 0 -1 } { 0 1 0 } { -1 0 0 } initial-segment ; -[ { 0.0 0.0 0.0 } ] [ simplest-straight-ahead sideways-heading ] unit-test -[ { 0.0 0.0 0.0 } ] [ simplest-straight-ahead sideways-relative-location ] unit-test +{ { 0.0 0.0 0.0 } } [ simplest-straight-ahead sideways-heading ] unit-test +{ { 0.0 0.0 0.0 } } [ simplest-straight-ahead sideways-relative-location ] unit-test : simple-collision-up ( -- oint segment ) { 0 0 0 } { 0 1 0 } { 0 0 1 } { -1 0 0 } initial-segment ; -[ { 0.0 1.0 0.0 } ] [ simple-collision-up sideways-heading ] unit-test -[ { 0.0 0.0 0.0 } ] [ simple-collision-up sideways-relative-location ] unit-test -[ { 0.0 1.0 0.0 } ] +{ { 0.0 1.0 0.0 } } [ simple-collision-up sideways-heading ] unit-test +{ { 0.0 0.0 0.0 } } [ simple-collision-up sideways-relative-location ] unit-test +{ { 0.0 1.0 0.0 } } [ simple-collision-up collision-vector 0 0 0 3array v+ ] unit-test