|
| 1 | +package korlibs.korge.gradle.texpacker |
| 2 | + |
| 3 | +import java.awt.* |
| 4 | +import org.junit.Assert |
| 5 | +import org.junit.Test |
| 6 | + |
| 7 | +class SimpleBitmapTest { |
| 8 | + @Test |
| 9 | + fun testConstructionAndPixelAccess() { |
| 10 | + val bmp = SimpleBitmap(2, 2) |
| 11 | + bmp[0, 0] = SimpleRGBA(0x11223344) |
| 12 | + bmp[1, 0] = SimpleRGBA(0x55667788) |
| 13 | + bmp[0, 1] = SimpleRGBA(0x19AABBCC) |
| 14 | + bmp[1, 1] = SimpleRGBA(0x1DEEFF00) |
| 15 | + Assert.assertEquals(0x11223344, bmp[0, 0].data) |
| 16 | + Assert.assertEquals(0x55667788, bmp[1, 0].data) |
| 17 | + Assert.assertEquals(0x19AABBCC, bmp[0, 1].data) |
| 18 | + Assert.assertEquals(0x1DEEFF00, bmp[1, 1].data) |
| 19 | + } |
| 20 | + |
| 21 | + @Test |
| 22 | + fun testSlice() { |
| 23 | + val bmp = SimpleBitmap(4, 4) |
| 24 | + for (y in 0 until 4) for (x in 0 until 4) bmp[x, y] = SimpleRGBA(x + y * 4) |
| 25 | + val slice = bmp.slice(Rectangle(1, 1, 2, 2)) |
| 26 | + Assert.assertEquals(2, slice.width) |
| 27 | + Assert.assertEquals(2, slice.height) |
| 28 | + Assert.assertEquals(5, slice[0, 0].data) |
| 29 | + Assert.assertEquals(6, slice[1, 0].data) |
| 30 | + Assert.assertEquals(9, slice[0, 1].data) |
| 31 | + Assert.assertEquals(10, slice[1, 1].data) |
| 32 | + } |
| 33 | + |
| 34 | + @Test |
| 35 | + fun testHashCodeConsistency() { |
| 36 | + val bmp1 = SimpleBitmap(2, 2) |
| 37 | + val bmp2 = SimpleBitmap(2, 2) |
| 38 | + for (i in 0..3) { |
| 39 | + bmp1.data[i] = i * 10 |
| 40 | + bmp2.data[i] = i * 10 |
| 41 | + } |
| 42 | + Assert.assertEquals(bmp1.hashCode(), bmp2.hashCode()) |
| 43 | + bmp2.data[3] = 999 |
| 44 | + Assert.assertNotEquals(bmp1.hashCode(), bmp2.hashCode()) |
| 45 | + } |
| 46 | + |
| 47 | + @Test |
| 48 | + fun testGetRectAndPutRect() { |
| 49 | + val bmp = SimpleBitmap(3, 3) |
| 50 | + for (i in bmp.data.indices) bmp.data[i] = i |
| 51 | + val rect = bmp.getRect(1, 1, 2, 2) |
| 52 | + Assert.assertArrayEquals(intArrayOf(4, 5, 7, 8), rect) |
| 53 | + val bmp2 = SimpleBitmap(2, 2) |
| 54 | + bmp2.putRect(0, 0, 2, 2, rect) |
| 55 | + Assert.assertArrayEquals(rect, bmp2.data) |
| 56 | + } |
| 57 | +} |
| 58 | + |
0 commit comments