RegressionTests__GraphicDrawingTest.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 1447 2351db93aa5b
child 1500 d406a10b2965
child 2382 5a220dc267d7
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#GraphicDrawingTest
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'tests-Regression'
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!GraphicDrawingTest methodsFor:'tests'!
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
_testDraw:drawBlock thenCheck:checkBlock
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    |form|
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    form := Form width:30 height:30 depth:(Display depth) onDevice:Display.
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    form clear.
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    drawBlock value:form.
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    checkBlock value:form.
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
test_01_Clear
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    26
    self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    27
	_testDraw:[:form | ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    28
	thenCheck:[:form |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    29
	    |blackPixel whitePixel pix|
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    31
	    blackPixel := (Color black onDevice:Display) colorId.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    32
	    whitePixel := (Color white onDevice:Display) colorId.
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    34
	    0 to:form height-1 do:[:y |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    35
		0 to:form width-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    36
		    pix := form atX:x y:y.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    37
		    self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    38
		]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    39
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    40
	]
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
     self new test_01_Clear
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
!
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
test_02_DrawHLine
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    48
    self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    49
	_testDraw:[:form |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    50
	    form paint:Color white.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    51
	    form displayLineFromX:1 y:0 toX:form width-1-1 y:0.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    52
	]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    53
	thenCheck:[:form |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    54
	    |blackPixel whitePixel pix|
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    56
	    blackPixel := (Color black onDevice:Display) colorId.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    57
	    whitePixel := (Color white onDevice:Display) colorId.
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    59
	    1 to:form height-1 do:[:y |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    60
		0 to:form width-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    61
		    pix := form atX:x y:y.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    62
		    self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    63
		]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    64
	    ].
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    66
	    pix := form atX:0 y:0.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    67
	    self assert:( pix == blackPixel ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    68
	    pix := form atX:(form width-1) y:0.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    69
	    self assert:( pix == blackPixel ).
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    71
	    1 to:form width-2 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    72
		pix := form atX:x y:0.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    73
		self assert:( pix == whitePixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    74
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    75
	]
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
     self new test_02_DrawHLine
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
!
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
test_03_DrawRectangle
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    83
    self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    84
	_testDraw:[:form |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    85
	    form paint:Color white.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    86
	    form displayRectangleX:1 y:1 width:(form width-1-1) height:(form height-1-1).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    87
	]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    88
	thenCheck:[:form |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    89
	    |blackPixel whitePixel pix|
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    91
	    blackPixel := (Color black onDevice:Display) colorId.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    92
	    whitePixel := (Color white onDevice:Display) colorId.
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    94
	    2 to:form height-1-1-1 do:[:y |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    95
		2 to:form width-1-1-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    96
		    pix := form atX:x y:y.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    97
		    self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    98
		]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    99
	    ].
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   101
	    0 to:form width-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   102
		pix := form atX:x y:0.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   103
		self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   104
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   105
	    0 to:form width-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   106
		pix := form atX:x y:(form height-1).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   107
		self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   108
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   109
	    0 to:form height-1 do:[:y |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   110
		pix := form atX:0 y:y.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   111
		self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   112
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   113
	    0 to:form height-1 do:[:y |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   114
		pix := form atX:(form width-1) y:y.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   115
		self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   116
	    ].
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   118
	    1 to:form width-1-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   119
		pix := form atX:x y:1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   120
		self assert:( pix == whitePixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   121
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   122
	    1 to:form width-1-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   123
		pix := form atX:x y:(form height-2).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   124
		self assert:( pix == whitePixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   125
	    ].
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   127
	]
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
     self new test_03_DrawRectangle
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
!
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
test_03_DrawVLine
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   135
    self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   136
	_testDraw:[:form |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   137
	    form paint:Color white.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   138
	    form displayLineFromX:0 y:1 toX:0 y:form height-1-1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   139
	]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   140
	thenCheck:[:form |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   141
	    |blackPixel whitePixel pix|
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   143
	    blackPixel := (Color black onDevice:Display) colorId.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   144
	    whitePixel := (Color white onDevice:Display) colorId.
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   146
	    0 to:form height-1 do:[:y |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   147
		1 to:form width-1 do:[:x |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   148
		    pix := form atX:x y:y.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   149
		    self assert:( pix == blackPixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   150
		]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   151
	    ].
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   153
	    pix := form atX:0 y:0.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   154
	    self assert:( pix == blackPixel ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   155
	    pix := form atX:0 y:(form height-1).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   156
	    self assert:( pix == blackPixel ).
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   158
	    1 to:form height-2 do:[:y |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   159
		pix := form atX:0 y:y.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   160
		self assert:( pix == whitePixel )
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   161
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   162
	]
222
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
     self new test_03_DrawVLine
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    "
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
! !
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
!GraphicDrawingTest class methodsFor:'documentation'!
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
version
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    ^ '$Header$'
9f4633a520da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
! !