|
| 1 | +/* |
| 2 | + * Scala.js (https://www.scala-js.org/) |
| 3 | + * |
| 4 | + * Copyright EPFL. |
| 5 | + * |
| 6 | + * Licensed under Apache License 2.0 |
| 7 | + * (https://www.apache.org/licenses/LICENSE-2.0). |
| 8 | + * |
| 9 | + * See the NOTICE file distributed with this work for |
| 10 | + * additional information regarding copyright ownership. |
| 11 | + */ |
| 12 | + |
| 13 | +package org.scalajs.testsuite.javalib.lang |
| 14 | + |
| 15 | +import org.junit.Test |
| 16 | +import org.junit.Assert._ |
| 17 | + |
| 18 | +class IntegerTestOnJDK21 { |
| 19 | + |
| 20 | + @Test def compress(): Unit = { |
| 21 | + // Example from the doc |
| 22 | + assertEquals(0x000cabab, Integer.compress(0xcafebabe, 0xff00fff0)) |
| 23 | + |
| 24 | + // Random test cases |
| 25 | + assertEquals(0x00000106, Integer.compress(0x89709d4b, 0x7a865060)) |
| 26 | + assertEquals(0x000000ab, Integer.compress(0x99933665, 0x0b505400)) |
| 27 | + assertEquals(0x00000014, Integer.compress(0x01d4851c, 0x101c1040)) |
| 28 | + assertEquals(0x0000020a, Integer.compress(0xd09d94a0, 0x1742a082)) |
| 29 | + assertEquals(0x00000032, Integer.compress(0x45ca9572, 0x1ac04203)) |
| 30 | + assertEquals(0x00000136, Integer.compress(0xf53bb659, 0x20ee0402)) |
| 31 | + assertEquals(0x0000003e, Integer.compress(0x3aca6e68, 0x00304e44)) |
| 32 | + assertEquals(0x00000007, Integer.compress(0x80e5df8f, 0x00028500)) |
| 33 | + assertEquals(0x0000000e, Integer.compress(0x6ec079f2, 0x10002091)) |
| 34 | + assertEquals(0x000007b7, Integer.compress(0xfc8242fc, 0x5e828288)) |
| 35 | + assertEquals(0x00000101, Integer.compress(0xccc51aaa, 0xa2184460)) |
| 36 | + assertEquals(0x0000001b, Integer.compress(0x8f673f64, 0x04520200)) |
| 37 | + assertEquals(0x0000001b, Integer.compress(0xbf6fd8b3, 0x480420a0)) |
| 38 | + assertEquals(0x000000ee, Integer.compress(0x3be5a94a, 0x8580e980)) |
| 39 | + assertEquals(0x0000001e, Integer.compress(0xb03e6c68, 0x41282810)) |
| 40 | + assertEquals(0x00000043, Integer.compress(0x2020edaf, 0x20c30180)) |
| 41 | + assertEquals(0x00000001, Integer.compress(0xb385d407, 0x00000001)) |
| 42 | + assertEquals(0x00000017, Integer.compress(0x416158fa, 0x12504060)) |
| 43 | + assertEquals(0x00000006, Integer.compress(0x857ee772, 0x48806800)) |
| 44 | + assertEquals(0x00000057, Integer.compress(0xb7803dee, 0xe001000e)) |
| 45 | + assertEquals(0x00000030, Integer.compress(0xb815b083, 0x002c8c44)) |
| 46 | + assertEquals(0x00000001, Integer.compress(0x3587593b, 0x00000008)) |
| 47 | + assertEquals(0x00000144, Integer.compress(0xb5a433fa, 0xd8004905)) |
| 48 | + assertEquals(0x00000007, Integer.compress(0x8b7e53b5, 0x00000031)) |
| 49 | + assertEquals(0x0000006a, Integer.compress(0x2f8a5041, 0x12023148)) |
| 50 | + assertEquals(0x0000004b, Integer.compress(0x34d1dd9f, 0x620400c9)) |
| 51 | + assertEquals(0x00000001, Integer.compress(0x9d6feff4, 0x00800100)) |
| 52 | + assertEquals(0x00000000, Integer.compress(0x943fb671, 0x00000000)) |
| 53 | + assertEquals(0x00000176, Integer.compress(0x978edc70, 0x044c4232)) |
| 54 | + assertEquals(0x00000000, Integer.compress(0x20162f69, 0x00000002)) |
| 55 | + assertEquals(0x000000c8, Integer.compress(0x4be28cf0, 0x0040c24e)) |
| 56 | + assertEquals(0x00000009, Integer.compress(0xfa162c33, 0x00005a50)) |
| 57 | + assertEquals(0x000000f7, Integer.compress(0xc7f24ff6, 0x80905c80)) |
| 58 | + assertEquals(0x00000006, Integer.compress(0x2c0da46a, 0x11108003)) |
| 59 | + assertEquals(0x00000004, Integer.compress(0x01e9c326, 0x00002681)) |
| 60 | + assertEquals(0x00000017, Integer.compress(0xa5978785, 0x00209601)) |
| 61 | + assertEquals(0x0000002a, Integer.compress(0xfd14e766, 0x80089003)) |
| 62 | + assertEquals(0x00000009, Integer.compress(0xbd1ea1b2, 0x0000c820)) |
| 63 | + assertEquals(0x00000002, Integer.compress(0xa07002e3, 0x00002928)) |
| 64 | + assertEquals(0x0000000a, Integer.compress(0x81eb15c0, 0x06200841)) |
| 65 | + assertEquals(0x0000001e, Integer.compress(0x79d37ad6, 0x02406808)) |
| 66 | + assertEquals(0x000001e2, Integer.compress(0xf555014c, 0x110590d0)) |
| 67 | + assertEquals(0x0000009a, Integer.compress(0xf7e3e446, 0x02186085)) |
| 68 | + assertEquals(0x000000ef, Integer.compress(0xbe25b6b9, 0x94081488)) |
| 69 | + assertEquals(0x00000033, Integer.compress(0xc9c80a95, 0x40810490)) |
| 70 | + assertEquals(0x0000004c, Integer.compress(0xf8fbd5c8, 0x13208204)) |
| 71 | + assertEquals(0x000000b7, Integer.compress(0xba67e36f, 0x08a04528)) |
| 72 | + assertEquals(0x0000005d, Integer.compress(0xbd49dddb, 0x00403505)) |
| 73 | + assertEquals(0x00000008, Integer.compress(0x40c7f608, 0x00001821)) |
| 74 | + assertEquals(0x00000004, Integer.compress(0xc663e6f4, 0x28008102)) |
| 75 | + } |
| 76 | + |
| 77 | + @Test def expand(): Unit = { |
| 78 | + // Example from the doc |
| 79 | + assertEquals(0xca00bab0, Integer.expand(0x000cabab, 0xff00fff0)) |
| 80 | + |
| 81 | + // Random test cases |
| 82 | + assertEquals(0x68804060, Integer.expand(0x89709d4b, 0x7a865060)) |
| 83 | + assertEquals(0x03004400, Integer.expand(0x99933665, 0x0b505400)) |
| 84 | + assertEquals(0x001c0000, Integer.expand(0x01d4851c, 0x101c1040)) |
| 85 | + assertEquals(0x02400000, Integer.expand(0xd09d94a0, 0x1742a082)) |
| 86 | + assertEquals(0x12c00002, Integer.expand(0x45ca9572, 0x1ac04203)) |
| 87 | + assertEquals(0x004c0002, Integer.expand(0xf53bb659, 0x20ee0402)) |
| 88 | + assertEquals(0x00104400, Integer.expand(0x3aca6e68, 0x00304e44)) |
| 89 | + assertEquals(0x00028500, Integer.expand(0x80e5df8f, 0x00028500)) |
| 90 | + assertEquals(0x10000010, Integer.expand(0x6ec079f2, 0x10002091)) |
| 91 | + assertEquals(0x16828200, Integer.expand(0xfc8242fc, 0x5e828288)) |
| 92 | + assertEquals(0x20104040, Integer.expand(0xccc51aaa, 0xa2184460)) |
| 93 | + assertEquals(0x00100000, Integer.expand(0x8f673f64, 0x04520200)) |
| 94 | + assertEquals(0x480000a0, Integer.expand(0xbf6fd8b3, 0x480420a0)) |
| 95 | + assertEquals(0x04802100, Integer.expand(0x3be5a94a, 0x8580e980)) |
| 96 | + assertEquals(0x41080000, Integer.expand(0xb03e6c68, 0x41282810)) |
| 97 | + assertEquals(0x00830180, Integer.expand(0x2020edaf, 0x20c30180)) |
| 98 | + assertEquals(0x00000001, Integer.expand(0xb385d407, 0x00000001)) |
| 99 | + assertEquals(0x12500040, Integer.expand(0x416158fa, 0x12504060)) |
| 100 | + assertEquals(0x48002000, Integer.expand(0x857ee772, 0x48806800)) |
| 101 | + assertEquals(0xc001000c, Integer.expand(0xb7803dee, 0xe001000e)) |
| 102 | + assertEquals(0x00200044, Integer.expand(0xb815b083, 0x002c8c44)) |
| 103 | + assertEquals(0x00000008, Integer.expand(0x3587593b, 0x00000008)) |
| 104 | + assertEquals(0xd8004804, Integer.expand(0xb5a433fa, 0xd8004905)) |
| 105 | + assertEquals(0x00000021, Integer.expand(0x8b7e53b5, 0x00000031)) |
| 106 | + assertEquals(0x02000008, Integer.expand(0x2f8a5041, 0x12023148)) |
| 107 | + assertEquals(0x400400c9, Integer.expand(0x34d1dd9f, 0x620400c9)) |
| 108 | + assertEquals(0x00000000, Integer.expand(0x9d6feff4, 0x00800100)) |
| 109 | + assertEquals(0x00000000, Integer.expand(0x943fb671, 0x00000000)) |
| 110 | + assertEquals(0x000c4000, Integer.expand(0x978edc70, 0x044c4232)) |
| 111 | + assertEquals(0x00000002, Integer.expand(0x20162f69, 0x00000002)) |
| 112 | + assertEquals(0x0040c200, Integer.expand(0x4be28cf0, 0x0040c24e)) |
| 113 | + assertEquals(0x00005050, Integer.expand(0xfa162c33, 0x00005a50)) |
| 114 | + assertEquals(0x80904c00, Integer.expand(0xc7f24ff6, 0x80905c80)) |
| 115 | + assertEquals(0x10100002, Integer.expand(0x2c0da46a, 0x11108003)) |
| 116 | + assertEquals(0x00000280, Integer.expand(0x01e9c326, 0x00002681)) |
| 117 | + assertEquals(0x00000401, Integer.expand(0xa5978785, 0x00209601)) |
| 118 | + assertEquals(0x80001002, Integer.expand(0xfd14e766, 0x80089003)) |
| 119 | + assertEquals(0x00000800, Integer.expand(0xbd1ea1b2, 0x0000c820)) |
| 120 | + assertEquals(0x00000028, Integer.expand(0xa07002e3, 0x00002928)) |
| 121 | + assertEquals(0x00000000, Integer.expand(0x81eb15c0, 0x06200841)) |
| 122 | + assertEquals(0x00402800, Integer.expand(0x79d37ad6, 0x02406808)) |
| 123 | + assertEquals(0x10041080, Integer.expand(0xf555014c, 0x110590d0)) |
| 124 | + assertEquals(0x00100084, Integer.expand(0xf7e3e446, 0x02186085)) |
| 125 | + assertEquals(0x84081008, Integer.expand(0xbe25b6b9, 0x94081488)) |
| 126 | + assertEquals(0x00800410, Integer.expand(0xc9c80a95, 0x40810490)) |
| 127 | + assertEquals(0x10200000, Integer.expand(0xf8fbd5c8, 0x13208204)) |
| 128 | + assertEquals(0x00a00528, Integer.expand(0xba67e36f, 0x08a04528)) |
| 129 | + assertEquals(0x00401405, Integer.expand(0xbd49dddb, 0x00403505)) |
| 130 | + assertEquals(0x00001000, Integer.expand(0x40c7f608, 0x00001821)) |
| 131 | + assertEquals(0x20008000, Integer.expand(0xc663e6f4, 0x28008102)) |
| 132 | + } |
| 133 | + |
| 134 | +} |
0 commit comments