]> gitweb.factorcode.org Git - factor.git/blob - extra/euler/b-rep/io/obj/obj-tests.factor
Update some copyright headers to follow the current convention
[factor.git] / extra / euler / b-rep / io / obj / obj-tests.factor
1 ! Copyright (C) 2010 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: euler.b-rep euler.b-rep.examples euler.b-rep.io.obj
4 io.streams.string literals math.vectors.simd.cords tools.test ;
5 IN: euler.b-rep.io.obj.tests
6
7 CONSTANT: valid-cube-obj
8 "v -1.0 -1.0 -1.0
9 v -1.0 1.0 -1.0
10 v 1.0 -1.0 -1.0
11 v 1.0 1.0 -1.0
12 v -1.0 -1.0 1.0
13 v -1.0 1.0 1.0
14 v 1.0 -1.0 1.0
15 v 1.0 1.0 1.0
16 f 1 2 4 3
17 f 5 6 2 1
18 f 7 8 6 5
19 f 3 4 8 7
20 f 2 6 8 4
21 f 5 1 3 7
22 "
23
24 CONSTANT: valid-cube-obj-relative-indices
25 "v -1.0 -1.0 -1.0
26 v -1.0 1.0 -1.0
27 v 1.0 -1.0 -1.0
28 v 1.0 1.0 -1.0
29 f -4 -3 -1 -2
30 v -1.0 -1.0 1.0
31 v -1.0 1.0 1.0
32 v 1.0 -1.0 1.0
33 v 1.0 1.0 1.0
34 f -4 -3 -7 -8
35 f 7 8 6 5
36 f 3 4 8 7
37 f 2 6 8 4
38 f 5 1 3 7
39 "
40
41 CONSTANT: valid-cube-obj-texcoords
42 "# comment should be ignored
43 v -1.0 -1.0 -1.0
44 v -1.0 1.0 -1.0
45 v 1.0 -1.0 -1.0
46 v 1.0 1.0 -1.0
47 v -1.0 -1.0 1.0
48 v -1.0 1.0 1.0
49 v 1.0 -1.0 1.0
50 v 1.0 1.0 1.0
51 vt 0 0
52 vt 0 1
53 vt 1 0
54 vt 1 1
55 f 1/1 2/2 4/4 3/3
56 f 5/1 6/2 2/2 1/1
57 f 7/3 8/4 6/2 5/1
58 f 3/3 4/4 8/4 7/3
59 f 2/2 6/2 8/4 4/4
60 f 5/1 1/1 3/3 7/3
61 "
62
63 { $ valid-cube-obj } [ [ valid-cube-b-rep write-obj ] with-string-writer ] unit-test
64
65 {
66     V{
67         double-4{ -1.0 -1.0 -1.0 0.0 }
68         double-4{ -1.0  1.0 -1.0 0.0 }
69         double-4{  1.0 -1.0 -1.0 0.0 }
70         double-4{  1.0  1.0 -1.0 0.0 }
71         double-4{ -1.0 -1.0  1.0 0.0 }
72         double-4{ -1.0  1.0  1.0 0.0 }
73         double-4{  1.0 -1.0  1.0 0.0 }
74         double-4{  1.0  1.0  1.0 0.0 }
75     }
76     V{
77         { 0 1 3 2 }
78         { 4 5 1 0 }
79         { 6 7 5 4 }
80         { 2 3 7 6 }
81         { 1 5 7 3 }
82         { 4 0 2 6 }
83     }
84 } [
85     valid-cube-obj [ (read-obj) ] with-string-reader
86 ] unit-test
87
88 {
89     V{
90         double-4{ -1.0 -1.0 -1.0 0.0 }
91         double-4{ -1.0  1.0 -1.0 0.0 }
92         double-4{  1.0 -1.0 -1.0 0.0 }
93         double-4{  1.0  1.0 -1.0 0.0 }
94         double-4{ -1.0 -1.0  1.0 0.0 }
95         double-4{ -1.0  1.0  1.0 0.0 }
96         double-4{  1.0 -1.0  1.0 0.0 }
97         double-4{  1.0  1.0  1.0 0.0 }
98     }
99     V{
100         { 0 1 3 2 }
101         { 4 5 1 0 }
102         { 6 7 5 4 }
103         { 2 3 7 6 }
104         { 1 5 7 3 }
105         { 4 0 2 6 }
106     }
107 } [
108     valid-cube-obj-relative-indices [ (read-obj) ] with-string-reader
109 ] unit-test
110
111 {
112     V{
113         double-4{ -1.0 -1.0 -1.0 0.0 }
114         double-4{ -1.0  1.0 -1.0 0.0 }
115         double-4{  1.0 -1.0 -1.0 0.0 }
116         double-4{  1.0  1.0 -1.0 0.0 }
117         double-4{ -1.0 -1.0  1.0 0.0 }
118         double-4{ -1.0  1.0  1.0 0.0 }
119         double-4{  1.0 -1.0  1.0 0.0 }
120         double-4{  1.0  1.0  1.0 0.0 }
121     }
122     V{
123         { 0 1 3 2 }
124         { 4 5 1 0 }
125         { 6 7 5 4 }
126         { 2 3 7 6 }
127         { 1 5 7 3 }
128         { 4 0 2 6 }
129     }
130 } [
131     valid-cube-obj-texcoords [ (read-obj) ] with-string-reader
132 ] unit-test