1
\ To test part of the Forth 2012 Facility word set
3
\ This program was written by Gerry Jackson in 2015, with contributions from
4
\ others where indicated, and is in the public domain - it can be distributed
5
\ and/or modified in any way but please retain this notice.
7
\ This program is distributed in the hope that it will be useful,
8
\ but WITHOUT ANY WARRANTY; without even the implied warranty of
9
\ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
\ The tests are not claimed to be comprehensive or correct
13
\ ------------------------------------------------------------------------------
14
\ Version 0.11 25 April 2015 Added tests for BEGIN-STRUCTURE END-STRUCTURE +FIELD
16
\ -----------------------------------------------------------------------------
17
\ The tests are based on John Hayes test program for the core word set
19
\ Words tested in this file are: +FIELD BEGIN-STRUCTURE CFIELD: END-STRUCTURE
22
\ -----------------------------------------------------------------------------
26
\ -----------------------------------------------------------------------------
27
TESTING BEGIN-STRUCTURE END-STRUCTURE +FIELD
29
T{ BEGIN-STRUCTURE STRCT1
33
T{ BEGIN-STRUCTURE STRCT2
40
T{ STRCT2 -> 3 chars 1 cells + }T \ +FIELD doesn't align
47
T{ CREATE S21 STRCT2 ALLOT -> }T
58
T{ CREATE S22 STRCT2 ALLOT -> }T
68
T{ BEGIN-STRUCTURE STRCT3
77
T{ 0 F31 CELL+ -> 0 F32 }T
78
T{ 0 CF31 CHAR+ -> 0 CF32 }T
79
T{ 0 CF32 CHAR+ -> 0 CF33 }T
80
\ T{ 0 CF33 ALIGNED -> 0 F33 }T xxx pending confirmation
82
T{ CREATE S31 STRCT3 ALLOT -> }T
94
TESTING Nested structures
96
T{ BEGIN-STRUCTURE STRCT4
98
ALIGNED STRCT3 +FIELD F42
102
T{ STRCT4 -> STRCT2 ALIGNED STRCT3 + 3 + STRCT2 + }T
104
T{ CREATE S41 STRCT4 ALLOT -> }T
105
T{ 21 S41 F41 F21 C! -> }T
106
T{ 22 S41 F41 F22 C! -> }T
107
T{ 23 S41 F41 F23 C! -> }T
108
T{ 24 S41 F42 F31 ! -> }T
109
T{ 25 S41 F42 F32 ! -> }T
110
T{ 26 S41 F42 CF31 C! -> }T
111
T{ 27 S41 F42 CF32 C! -> }T
112
T{ 28 S41 F42 CF33 C! -> }T
113
T{ 29 S41 F42 F33 ! -> }T
114
T{ 30 S41 F44 F21 C! -> }T
115
T{ 31 S41 F44 F22 C! -> }T
116
T{ 32 S41 F44 F23 C! -> }T
118
T{ S41 F41 F21 C@ -> 21 }T
119
T{ S41 F41 F22 C@ -> 22 }T
120
T{ S41 F41 F23 C@ -> 23 }T
121
T{ S41 F42 F31 @ -> 24 }T
122
T{ S41 F42 F32 @ -> 25 }T
123
T{ S41 F42 CF31 C@ -> 26 }T
124
T{ S41 F42 CF32 C@ -> 27 }T
125
T{ S41 F42 CF33 C@ -> 28 }T
126
T{ S41 F42 F33 @ -> 29 }T
127
T{ S41 F44 F21 C@ -> 30 }T
128
T{ S41 F44 F22 C@ -> 31 }T
129
T{ S41 F44 F23 C@ -> 32 }T
131
\ -----------------------------------------------------------------------------
133
FACILITY-ERRORS SET-ERROR-COUNT
135
CR .( End of Facility word tests) CR