"{ Package: 'stx:goodies/regression' }"
"{ NameSpace: RegressionTests }"
TestCase subclass:#ImageTests
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'tests-Regression'
!
!ImageTests class methodsFor:'documentation'!
documentation
"
Tests for the image classes in libview, i.e. Image,
Depth1Image, Depth2Image, etc.
[author:]
mawalch
[instance variables:]
[class variables:]
[see also:]
"
! !
!ImageTests methodsFor:'tests'!
test01_PixelValue1
|img|
img := Image extent:1@1 depth:24.
img photometric:#rgb. "/ that is: ignored,r,g,b
img createPixelStore.
self assert:(img bits at:1) == 0.
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 0.
img pixelAtX:0 y:0 put:16rFF0000.
self assert:(img bits at:1) == 16rFF.
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 0.
"/ ----------------------------------
img := Image extent:1@1 depth:32.
img photometric:#rgb. "/ that is: ignored,r,g,b
img createPixelStore.
self assert:(img bits at:1) == 0.
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 0.
self assert:(img bits at:4) == 0.
img pixelAtX:0 y:0 put:16rFF0000.
self assert:(img bits at:1) == 0.
self assert:(img bits at:2) == 16rFF.
self assert:(img bits at:3) == 0.
self assert:(img bits at:4) == 0.
"Created: / 22-08-2017 / 18:43:04 / cg"
!
test02_PixelColor
|img|
img := Image extent:1@1 depth:24.
img photometric:#rgb. "/ that is: ignored,r,g,b
img createPixelStore.
self assert:(img bits at:1) == 0.
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 0.
img colorAtX:0 y:0 put:(Color red).
self assert:(img bits at:1) == 16rFF.
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 0.
"/ ----------------------------------
img := Image extent:1@1 depth:32.
img photometric:#rgb. "/ that is: ignored,r,g,b
img createPixelStore.
self assert:(img bits at:1) == 0.
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 0.
self assert:(img bits at:4) == 0.
img colorAtX:0 y:0 put:(Color red).
self assert:(img bits at:1) == 0. "/ alpha - ignored and 0
self assert:(img bits at:2) == 16rFF. "/ red
self assert:(img bits at:3) == 0.
self assert:(img bits at:4) == 0.
img colorAtX:0 y:0 put:(Color green).
self assert:(img bits at:1) == 0. "/ alpha - ignored and 0
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 16rFF. "/ green
self assert:(img bits at:4) == 0.
img colorAtX:0 y:0 put:(Color blue).
self assert:(img bits at:1) == 0. "/ alpha - ignored and 0
self assert:(img bits at:2) == 0.
self assert:(img bits at:3) == 0.
self assert:(img bits at:4) == 16rFF. "/ blue
"/ ----------------------------------
img := Image extent:1@1 depth:32.
img photometric:#rgba.
img createPixelStore.
img colorAtX:0 y:0 put:(Color red).
self assert:(img bits at:1) == 16rFF. "/ red
self assert:(img bits at:2) == 0. "/ green
self assert:(img bits at:3) == 0. "/ blue
self assert:(img bits at:4) == 16rFF. "/ alpha
img colorAtX:0 y:0 put:(Color green).
self assert:(img bits at:1) == 0. "/ red
self assert:(img bits at:2) == 16rFF. "/ green
self assert:(img bits at:3) == 0. "/ blue
self assert:(img bits at:4) == 16rFF. "/ alpha
img colorAtX:0 y:0 put:(Color blue).
self assert:(img bits at:1) == 0. "/ red
self assert:(img bits at:2) == 0. "/ green
self assert:(img bits at:3) == 16rFF. "/ blue
self assert:(img bits at:4) == 16rFF. "/ alpha
"/ ----------------------------------
img := Image extent:1@1 depth:32.
img photometric:#argb.
img createPixelStore.
img colorAtX:0 y:0 put:(Color red).
self assert:(img bits at:1) == 16rFF. "/ alpha
self assert:(img bits at:2) == 16rFF. "/ red
self assert:(img bits at:3) == 0. "/ green
self assert:(img bits at:4) == 0. "/ blue
img colorAtX:0 y:0 put:(Color green).
self assert:(img bits at:1) == 16rFF. "/ alpha
self assert:(img bits at:2) == 0. "/ red
self assert:(img bits at:3) == 16rFF. "/ green
self assert:(img bits at:4) == 0. "/ blue
img colorAtX:0 y:0 put:(Color blue).
self assert:(img bits at:1) == 16rFF. "/ alpha
self assert:(img bits at:2) == 0. "/ red
self assert:(img bits at:3) == 0. "/ green
self assert:(img bits at:4) == 16rFF. "/ blue
"Created: / 22-08-2017 / 18:46:14 / cg"
!
test09_FillRectangle
|depths colors rectangle|
depths := { 16 . 24 . 32 }.
colors := {
Color red.
Color green.
Color blue.
Color white.
Color black
}.
rectangle := Rectangle left:0 top:0 width:1 height:1.
depths do:[:depth |
|img|
img := Image extent:1 @ 1 depth:depth.
img createPixelStore.
colors do:[:color |
img fillRectangle:rectangle withColor:color.
self assert:((img colorAt:0 @ 0) = color).
].
].
"Created: / 22-08-2017 / 18:45:44 / cg"
!
test10_FillRectangle_palette
|img depths colors rectangle|
depths := { 2 . 4 . 8 }.
colors := {
Color red.
Color green.
Color blue.
Color white.
}.
rectangle := Rectangle left:0 top:0 width:1 height:1.
depths do:[:depth |
img := Image extent:1 @ 1 depth:depth.
img photometric:#palette.
img colorMap:colors.
img createPixelStore.
colors do:[:color |
img fillRectangle:rectangle withColor:color.
self assert:((img colorAt:0 @ 0) = color).
].
].
colors := {
Color red.
Color green.
}.
img := Image extent:1 @ 1 depth:1.
img photometric:#palette.
img colorMap:colors.
img createPixelStore.
colors do:[:color |
img fillRectangle:rectangle withColor:color.
self assert:((img colorAt:0 @ 0) = color).
].
"Created: / 22-08-2017 / 18:57:19 / cg"
! !
!ImageTests class methodsFor:'documentation'!
version
^ '$Header$'
!
version_CVS
^ '$Header$'
! !