@@ -3,11 +3,14 @@ package org.openeo.geotrellis
3
3
import org .apache .commons .io .IOUtils
4
4
import org .junit .Test
5
5
import com .fasterxml .jackson .databind .ObjectMapper
6
- import geotrellis .raster .{ByteArrayTile , ByteConstantNoDataCellType , ShortArrayTile , Tile }
7
- import org .junit .jupiter .api .Assertions .{assertEquals , assertNotNull }
6
+ import geotrellis .raster .{BitArrayTile , ByteArrayFiller , ByteArrayTile , ByteConstantNoDataArrayTile , ByteConstantNoDataCellType , ShortArrayTile , ShortConstantNoDataCellType , ShortConstantNoDataCellType$ , Tile }
7
+ import org .junit .jupiter .api .Assertions .{assertArrayEquals , assertEquals , assertNotNull }
8
8
9
+ import java .net .URL
9
10
import java .nio .charset .Charset
10
11
import java .util
12
+ import java .util .Arrays
13
+ import scala .collection .JavaConverters
11
14
import scala .collection .mutable .ArrayBuffer
12
15
13
16
class OpenEOProcessGraphBuilderTest {
@@ -69,11 +72,10 @@ class OpenEOProcessGraphBuilderTest {
69
72
}
70
73
71
74
def assertTileEquals (expected : Tile , actual : Tile ): Unit = {
72
- assertEquals(1 ,1 )
73
75
assertEquals(expected.cols, actual.cols)
74
76
assertEquals(expected.rows, actual.rows)
75
77
assertEquals(expected.cellType, actual.cellType)
76
- assert (expected.toArray sameElements actual.toArray)
78
+ assertArrayEquals (expected.toArray, actual.toArray)
77
79
}
78
80
79
81
def fillShortArrayTile (cols : Int , rows : Int , values : Int * )= {
@@ -105,31 +107,22 @@ class OpenEOProcessGraphBuilderTest {
105
107
106
108
@ Test
107
109
def testArrayFind (): Unit = {
108
- val graphPath = IOUtils .toString(getClass.getResource(" /org/openeo/geotrellis/testArrayFindProcessGraph.json" ), Charset .defaultCharset())
109
- val visitor = (new GeotrellisTileProcessGraphVisitor ).create()
110
- val graph = new ObjectMapper ().readValue(graphPath,classOf [util.Map [String ,Object ]])
111
- println(graph)
112
- visitor._acceptDict(graph)
113
- // val processes = visitor.processes
114
- // assert(processes.size==4)
115
- // for (process <- processes) {
116
- // print(process)
117
- // }
110
+ val transformation = org.openeo.geotrellis.testutil.fromUrl(getClass.getResource(" /org/openeo/geotrellis/testArrayFindProcessGraph.json" ))
111
+ val tile0 = ByteArrayTile .fill(10 .toByte, 4 , 4 )
112
+ val tile1 = ByteArrayTile .fill(5 .toByte, 4 , 4 )
113
+ val result = transformation.apply(JavaConverters .asScalaBuffer(util.Arrays .asList(tile0, tile1)))
114
+ val expectedResult = ByteArrayTile .fill(1 .toByte, 4 , 4 )
115
+ assertTileEquals(expectedResult.convert(ShortConstantNoDataCellType ), result.head)
118
116
}
119
117
120
-
121
118
@ Test
122
119
def testArrayContains (): Unit = {
123
- val graphPath = IOUtils .toString(getClass.getResource(" /org/openeo/geotrellis/testArrayContainsProcessGraph.json" ), Charset .defaultCharset())
124
- val visitor = (new GeotrellisTileProcessGraphVisitor ).create()
125
- val graph = new ObjectMapper ().readValue(graphPath,classOf [util.Map [String ,Object ]])
126
- println(graph)
127
- visitor.acceptProcessGraph(graph)
128
- // val processes = visitor.processes
129
- // assert(processes.size==4)
130
- // for (process <- processes) {
131
- // print(process)
132
- // }
120
+ val transformation = org.openeo.geotrellis.testutil.fromUrl(getClass.getResource(" /org/openeo/geotrellis/testArrayContainsProcessGraph.json" ))
121
+ val tile0 = ByteArrayTile .fill(10 .toByte, 4 , 4 )
122
+ val tile1 = ByteArrayTile .fill(5 .toByte, 4 , 4 )
123
+ val result = transformation.apply(JavaConverters .asScalaBuffer(util.Arrays .asList(tile0, tile1)))
124
+ val expectedResult = new BitArrayTile (Array .ofDim[Byte ](((4 * 4 ) + 7 ) / 8 ).fill(255 .toByte), 4 , 4 ) // BitArrayTile.fill(1, 4, 4) seems bugged
125
+ assertTileEquals(expectedResult, result.head)
133
126
}
134
127
135
128
@@ -148,4 +141,4 @@ class OpenEOProcessGraphBuilderTest {
148
141
assert(true )
149
142
}
150
143
151
- }
144
+ }
0 commit comments