// Page: 30 14 00 00 1c 00 00 00 04 02 88 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e8 38 15 8e 1b 0b b2 39 1b 0b dd 00 14 2a f6 41 8f 1b 0b de 3a 1b 0b e5 00 13 b2 ea 6d 90 1b 0b 0a 3c 1b 0b ec 00 13 fe e2 99 91 1b 0b 36 3d 1b 0b f0 00 13 80 96 c5 92 1b 0b 62 3e 1b 0b f6 00 13 7f 92 f1 93 1b 0b 8e 3f 1b 0b fd 00 13 e3 ac 1d 95 1b 0b ba 40 1b 0b 04 01 13 b6 1d 49 96 1b 0b e6 41 1b 0b 08 01 13 eb 64 75 97 1b 0b 12 43 1b 0b 0c 01 13 fe be a1 98 1b 0b 3e 44 1b 0b 10 01 13 94 e3 cd 99 1b 0b 6a 45 1b 0b 16 01 13 e6 4d f9 9a 1b 0b 96 46 1b 0b 18 01 14 dc 8a 25 9c 1b 0b c2 47 1b 0b 20 01 13 fa e0 51 9d 1b 0b ee 48 1b 0b 24 01 13 34 40 7d 9e 1b 0b 1a 4a 1b 0b 27 01 13 06 94 a9 9f 1b 0b 46 4b 1b 0b 27 01 14 fd bf d5 a0 1b 0b 72 4c 1b 0b 27 01 14 86 5c 02 a2 1b 0b 9f 4d 1b 0b 28 01 14 8b a8 2d a3 1b 0b ca 4e 1b 0b 28 01 14 57 bb 59 a4 1b 0b f6 4f 1b 0b 29 01 14 0e 34 85 a5 1b 0b 22 51 1b 0b 2a 01 14 1f 73 b1 a6 1b 0b 4e 52 1b 0b 2c 01 14 e1 f1 dd a7 1b 0b 7a 53 1b 0b 2e 01 14 49 30 09 a9 1b 0b a6 54 1b 0b 34 01 14 5e 9f 35 aa 1b 0b d2 55 1b 0b 36 01 14 78 4c 61 ab 1b 0b fe 56 1b 0b 39 01 14 de bd 8d ac 1b 0b 2b 58 1b 0b 3c 01 14 72 66 b9 ad 1b 0b 57 59 1b 0b 3c 01 14 9d 34 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff // First record: 5168 // Number of records: 28 // RecordType: 4 // Revision: 2 // Page number: 136 // Reserved 2: 0 // Reserved 3: 0 // Reserved 4: 0 // Page: 1f 00 00 00 04 00 00 00 0a 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 3f 28 80 18 0b c5 2b 18 0b 71 00 0a 80 18 0b ac c2 4c b5 1a 0b e9 60 1a 0b 46 00 2e b5 1a 0b 73 ac 63 b5 1a 0b 00 61 1a 0b 48 00 45 b5 1a 0b b1 0c 7c d0 1a 0b 1a 7c 1a 0b 06 01 5e d0 1a 0b 06 5e ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff // First record: 31 // Number of records: 4 // RecordType: 10 // Revision: 1 // Page number: 1 // Reserved 2: 0 // Reserved 3: 0 // Reserved 4: 0 // Page: 05 14 00 00 19 00 00 00 03 01 cd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 15 03 41 8f 1b 0b de 3a 1b 0b 00 c5 03 00 40 9b 03 00 b5 00 40 86 6d 90 1b 0b 0a 3c 1b 0b 40 e0 03 00 40 b0 03 00 b3 00 d7 bd 99 91 1b 0b 36 3d 1b 0b c0 eb 03 00 80 cb 03 00 af 00 7f a7 c5 92 1b 0b 62 3e 1b 0b c0 04 04 00 00 e6 03 00 b8 00 68 3e f1 93 1b 0b 8e 3f 1b 0b c0 1b 04 00 40 fc 03 00 af 00 04 12 1d 95 1b 0b ba 40 1b 0b 80 35 04 00 40 10 04 00 bc 00 a7 8f 49 96 1b 0b e6 41 1b 0b 00 45 04 00 80 25 04 00 ae 00 d4 42 75 97 1b 0b 12 43 1b 0b 00 53 04 00 40 3a 04 00 c6 00 22 50 a1 98 1b 0b 3e 44 1b 0b 40 62 04 00 c0 4c 04 00 b5 00 5f ce cd 99 1b 0b 6a 45 1b 0b 40 78 04 00 c0 5c 04 00 b4 00 b6 0f f9 9a 1b 0b 96 46 1b 0b 80 7f 04 00 80 6b 04 00 bc 00 83 98 25 9c 1b 0b c2 47 1b 0b 00 9f 04 00 c0 7b 04 00 ad 00 5d bd 51 9d 1b 0b ee 48 1b 0b 00 ab 04 00 00 8e 04 00 b0 00 07 54 7d 9e 1b 0b 1a 4a 1b 0b 80 b7 04 00 c0 a0 04 00 b7 00 cd 23 a9 9f 1b 0b 46 4b 1b 0b 00 b9 04 00 80 b0 04 00 af 00 c1 e0 d5 a0 1b 0b 72 4c 1b 0b 00 b9 04 00 80 b9 04 00 b9 00 37 a7 01 a2 1b 0b 9e 4d 1b 0b c0 bb 04 00 00 bc 04 00 aa 01 b7 cb 2c a3 1b 0b ca 4e 1b 0b 80 bc 04 00 80 bb 04 00 af 00 aa 9f 58 a4 1b 0b f6 4f 1b 0b 00 c0 04 00 40 bb 04 00 a6 00 de 17 84 a5 1b 0b 22 51 1b 0b 40 c1 04 00 00 bd 04 00 b8 00 4d 23 b0 a6 1b 0b 4e 52 1b 0b 40 ca 04 00 40 c0 04 00 a9 00 e2 e8 dc a7 1b 0b 7a 53 1b 0b 00 d3 04 00 c0 c5 04 00 b4 00 16 75 08 a9 1b 0b a5 54 1b 0b 00 e8 04 00 80 ce 04 00 b2 00 31 b9 34 aa 1b 0b d1 55 1b 0b c0 ee 04 00 80 da 04 00 b2 00 44 07 60 ab 1b 0b fd 56 1b 0b 00 f9 04 00 40 e8 04 00 b1 00 b0 7d // First record: 5125 // Number of records: 25 // RecordType: 3 // Revision: 1 // Page number: 205 // Reserved 2: 0 // Reserved 3: 0 // Reserved 4: 0 // Page: 1e 14 00 00 02 00 00 00 03 01 ce 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 0e 8d ac 1b 0b 2a 58 1b 0b 80 03 05 00 c0 f4 04 00 a7 01 0a e3 b9 ad 1b 0b 56 59 1b 0b 40 05 05 00 00 fe 04 00 ac 01 87 cf ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff // First record: 5150 // Number of records: 2 // RecordType: 3 // Revision: 1 // Page number: 206 // Reserved 2: 0 // Reserved 3: 0 // Reserved 4: 0 // Page: 4c 00 00 00 01 00 00 00 05 03 26 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 f5 6b d1 1a 0b 09 7d 1a 0b d1 3c e9 4a b3 6c 89 40 64 75 6a cf e2 eb d9 40 00 00 00 00 00 00 f0 3f 03 06 01 1e 10 09 d2 a6 30 f2 3f 03 2e b5 1a 0b 46 00 00 00 50 49 01 00 77 b6 1a 0b 00 45 b5 1a 0b 48 00 00 00 50 49 01 00 77 b6 1a 0b 00 5e d0 1a 0b 06 01 00 00 60 a8 03 00 6b d1 1a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 33 33 33 33 33 d3 3f 55 55 55 55 55 55 e5 3f 03 30 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff // First record: 76 // Number of records: 1 // RecordType: 5 // Revision: 3 // Page number: 38 // Reserved 2: 0 // Reserved 3: 0 // Reserved 4: 0 package com.nightscout.core.dexcom; import com.nightscout.core.dexcom.records.PageHeader; import org.junit.Test; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; public class PageHeaderTest { // Page: 0a 14 00 00 26 00 00 00 04 02 87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 aa c1 62 60 1b 0b ff 0b 1b 0b 71 00 14 05 a9 8e 61 1b 0b 2b 0d 1b 0b 71 00 14 c5 5f ba 62 1b 0b 57 0e 1b 0b 6d 00 14 e2 6e e6 63 1b 0b 83 0f 1b 0b 69 00 14 4e fa 12 65 1b 0b af 10 1b 0b 66 00 14 a5 25 3e 66 1b 0b db 11 1b 0b 62 00 14 1e 11 6a 67 1b 0b 07 13 1b 0b 5f 00 14 45 21 96 68 1b 0b 33 14 1b 0b 5c 00 14 5f bf c2 69 1b 0b 5f 15 1b 0b 5a 00 14 c4 86 ee 6a 1b 0b 8b 16 1b 0b 58 00 14 90 4e 1a 6c 1b 0b b7 17 1b 0b 57 00 14 27 3c 46 6d 1b 0b e3 18 1b 0b 57 00 14 11 5f 72 6e 1b 0b 0f 1a 1b 0b 57 00 14 16 81 9e 6f 1b 0b 3b 1b 1b 0b 56 00 14 44 90 ca 70 1b 0b 67 1c 1b 0b 58 00 14 70 79 f6 71 1b 0b 93 1d 1b 0b 58 00 14 45 b1 22 73 1b 0b bf 1e 1b 0b 56 00 14 b6 4f 4e 74 1b 0b eb 1f 1b 0b 55 00 14 8b 79 7a 75 1b 0b 17 21 1b 0b 55 00 14 12 6a a6 76 1b 0b 43 22 1b 0b 55 00 14 e7 55 d2 77 1b 0b 6f 23 1b 0b 55 00 14 4a a9 fe 78 1b 0b 9b 24 1b 0b 55 00 14 57 80 2a 7a 1b 0b c7 25 1b 0b 57 00 14 e4 04 55 7b 1b 0b f3 26 1b 0b 57 00 14 ab 0d 82 7c 1b 0b 1f 28 1b 0b 58 00 14 b4 46 ae 7d 1b 0b 4b 29 1b 0b 5e 00 14 13 ac d9 7e 1b 0b 77 2a 1b 0b 6a 00 13 77 23 05 80 1b 0b a2 2b 1b 0b 78 00 12 f6 0a 31 81 1b 0b ce 2c 1b 0b 86 00 12 d0 1a 5d 82 1b 0b fa 2d 1b 0b 94 00 11 f2 76 89 83 1b 0b 26 2f 1b 0b a0 00 11 92 51 b6 84 1b 0b 53 30 1b 0b aa 00 12 ff ec 0e 87 1b 0b ab 32 1b 0b bf 00 12 b5 16 39 88 1b 0b d7 33 1b 0b c8 00 12 cc 58 66 89 1b 0b 03 35 1b 0b cf 00 12 8b 25 91 8a 1b 0b 2e 36 1b 0b d3 00 13 fe e3 bd 8b 1b 0b 5a 37 1b 0b d4 00 14 78 20 e9 8c 1b 0b 86 38 1b 0b d7 00 14 7b f3 ff ff ff ff ff ff // First record: 5130 // Number of records: 38 // RecordType: 4 // Revision: 2 // Page number: 135 // Reserved 2: 0 // Reserved 3: 0 // Reserved 4: 0 private byte[] pageHeader = new byte[]{(byte) 0x0a, (byte) 0x14, (byte) 0x00, (byte) 0x00, (byte) 0x26, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x04, (byte) 0x02, (byte) 0x87, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0xaa, (byte) 0xc1, (byte) 0x62, (byte) 0x60, (byte) 0x1b, (byte) 0x0b, (byte) 0xff, (byte) 0x0b, (byte) 0x1b, (byte) 0x0b, (byte) 0x71, (byte) 0x00, (byte) 0x14, (byte) 0x05, (byte) 0xa9, (byte) 0x8e, (byte) 0x61, (byte) 0x1b, (byte) 0x0b, (byte) 0x2b, (byte) 0x0d, (byte) 0x1b, (byte) 0x0b, (byte) 0x71, (byte) 0x00, (byte) 0x14, (byte) 0xc5, (byte) 0x5f, (byte) 0xba, (byte) 0x62, (byte) 0x1b, (byte) 0x0b, (byte) 0x57, (byte) 0x0e, (byte) 0x1b, (byte) 0x0b, (byte) 0x6d, (byte) 0x00, (byte) 0x14, (byte) 0xe2, (byte) 0x6e, (byte) 0xe6, (byte) 0x63, (byte) 0x1b, (byte) 0x0b, (byte) 0x83, (byte) 0x0f, (byte) 0x1b, (byte) 0x0b, (byte) 0x69, (byte) 0x00, (byte) 0x14, (byte) 0x4e, (byte) 0xfa, (byte) 0x12, (byte) 0x65, (byte) 0x1b, (byte) 0x0b, (byte) 0xaf, (byte) 0x10, (byte) 0x1b, (byte) 0x0b, (byte) 0x66, (byte) 0x00, (byte) 0x14, (byte) 0xa5, (byte) 0x25, (byte) 0x3e, (byte) 0x66, (byte) 0x1b, (byte) 0x0b, (byte) 0xdb, (byte) 0x11, (byte) 0x1b, (byte) 0x0b, (byte) 0x62, (byte) 0x00, (byte) 0x14, (byte) 0x1e, (byte) 0x11, (byte) 0x6a, (byte) 0x67, (byte) 0x1b, (byte) 0x0b, (byte) 0x07, (byte) 0x13, (byte) 0x1b, (byte) 0x0b, (byte) 0x5f, (byte) 0x00, (byte) 0x14, (byte) 0x45, (byte) 0x21, (byte) 0x96, (byte) 0x68, (byte) 0x1b, (byte) 0x0b, (byte) 0x33, (byte) 0x14, (byte) 0x1b, (byte) 0x0b, (byte) 0x5c, (byte) 0x00, (byte) 0x14, (byte) 0x5f, (byte) 0xbf, (byte) 0xc2, (byte) 0x69, (byte) 0x1b, (byte) 0x0b, (byte) 0x5f, (byte) 0x15, (byte) 0x1b, (byte) 0x0b, (byte) 0x5a, (byte) 0x00, (byte) 0x14, (byte) 0xc4, (byte) 0x86, (byte) 0xee, (byte) 0x6a, (byte) 0x1b, (byte) 0x0b, (byte) 0x8b, (byte) 0x16, (byte) 0x1b, (byte) 0x0b, (byte) 0x58, (byte) 0x00, (byte) 0x14, (byte) 0x90, (byte) 0x4e, (byte) 0x1a, (byte) 0x6c, (byte) 0x1b, (byte) 0x0b, (byte) 0xb7, (byte) 0x17, (byte) 0x1b, (byte) 0x0b, (byte) 0x57, (byte) 0x00, (byte) 0x14, (byte) 0x27, (byte) 0x3c, (byte) 0x46, (byte) 0x6d, (byte) 0x1b, (byte) 0x0b, (byte) 0xe3, (byte) 0x18, (byte) 0x1b, (byte) 0x0b, (byte) 0x57, (byte) 0x00, (byte) 0x14, (byte) 0x11, (byte) 0x5f, (byte) 0x72, (byte) 0x6e, (byte) 0x1b, (byte) 0x0b, (byte) 0x0f, (byte) 0x1a, (byte) 0x1b, (byte) 0x0b, (byte) 0x57, (byte) 0x00, (byte) 0x14, (byte) 0x16, (byte) 0x81, (byte) 0x9e, (byte) 0x6f, (byte) 0x1b, (byte) 0x0b, (byte) 0x3b, (byte) 0x1b, (byte) 0x1b, (byte) 0x0b, (byte) 0x56, (byte) 0x00, (byte) 0x14, (byte) 0x44, (byte) 0x90, (byte) 0xca, (byte) 0x70, (byte) 0x1b, (byte) 0x0b, (byte) 0x67, (byte) 0x1c, (byte) 0x1b, (byte) 0x0b, (byte) 0x58, (byte) 0x00, (byte) 0x14, (byte) 0x70, (byte) 0x79, (byte) 0xf6, (byte) 0x71, (byte) 0x1b, (byte) 0x0b, (byte) 0x93, (byte) 0x1d, (byte) 0x1b, (byte) 0x0b, (byte) 0x58, (byte) 0x00, (byte) 0x14, (byte) 0x45, (byte) 0xb1, (byte) 0x22, (byte) 0x73, (byte) 0x1b, (byte) 0x0b, (byte) 0xbf, (byte) 0x1e, (byte) 0x1b, (byte) 0x0b, (byte) 0x56, (byte) 0x00, (byte) 0x14, (byte) 0xb6, (byte) 0x4f, (byte) 0x4e, (byte) 0x74, (byte) 0x1b, (byte) 0x0b, (byte) 0xeb, (byte) 0x1f, (byte) 0x1b, (byte) 0x0b, (byte) 0x55, (byte) 0x00, (byte) 0x14, (byte) 0x8b, (byte) 0x79, (byte) 0x7a, (byte) 0x75, (byte) 0x1b, (byte) 0x0b, (byte) 0x17, (byte) 0x21, (byte) 0x1b, (byte) 0x0b, (byte) 0x55, (byte) 0x00, (byte) 0x14, (byte) 0x12, (byte) 0x6a, (byte) 0xa6, (byte) 0x76, (byte) 0x1b, (byte) 0x0b, (byte) 0x43, (byte) 0x22, (byte) 0x1b, (byte) 0x0b, (byte) 0x55, (byte) 0x00, (byte) 0x14, (byte) 0xe7, (byte) 0x55, (byte) 0xd2, (byte) 0x77, (byte) 0x1b, (byte) 0x0b, (byte) 0x6f, (byte) 0x23, (byte) 0x1b, (byte) 0x0b, (byte) 0x55, (byte) 0x00, (byte) 0x14, (byte) 0x4a, (byte) 0xa9, (byte) 0xfe, (byte) 0x78, (byte) 0x1b, (byte) 0x0b, (byte) 0x9b, (byte) 0x24, (byte) 0x1b, (byte) 0x0b, (byte) 0x55, (byte) 0x00, (byte) 0x14, (byte) 0x57, (byte) 0x80, (byte) 0x2a, (byte) 0x7a, (byte) 0x1b, (byte) 0x0b, (byte) 0xc7, (byte) 0x25, (byte) 0x1b, (byte) 0x0b, (byte) 0x57, (byte) 0x00, (byte) 0x14, (byte) 0xe4, (byte) 0x04, (byte) 0x55, (byte) 0x7b, (byte) 0x1b, (byte) 0x0b, (byte) 0xf3, (byte) 0x26, (byte) 0x1b, (byte) 0x0b, (byte) 0x57, (byte) 0x00, (byte) 0x14, (byte) 0xab, (byte) 0x0d, (byte) 0x82, (byte) 0x7c, (byte) 0x1b, (byte) 0x0b, (byte) 0x1f, (byte) 0x28, (byte) 0x1b, (byte) 0x0b, (byte) 0x58, (byte) 0x00, (byte) 0x14, (byte) 0xb4, (byte) 0x46, (byte) 0xae, (byte) 0x7d, (byte) 0x1b, (byte) 0x0b, (byte) 0x4b, (byte) 0x29, (byte) 0x1b, (byte) 0x0b, (byte) 0x5e, (byte) 0x00, (byte) 0x14, (byte) 0x13, (byte) 0xac, (byte) 0xd9, (byte) 0x7e, (byte) 0x1b, (byte) 0x0b, (byte) 0x77, (byte) 0x2a, (byte) 0x1b, (byte) 0x0b, (byte) 0x6a, (byte) 0x00, (byte) 0x13, (byte) 0x77, (byte) 0x23, (byte) 0x05, (byte) 0x80, (byte) 0x1b, (byte) 0x0b, (byte) 0xa2, (byte) 0x2b, (byte) 0x1b, (byte) 0x0b, (byte) 0x78, (byte) 0x00, (byte) 0x12, (byte) 0xf6, (byte) 0x0a, (byte) 0x31, (byte) 0x81, (byte) 0x1b, (byte) 0x0b, (byte) 0xce, (byte) 0x2c, (byte) 0x1b, (byte) 0x0b, (byte) 0x86, (byte) 0x00, (byte) 0x12, (byte) 0xd0, (byte) 0x1a, (byte) 0x5d, (byte) 0x82, (byte) 0x1b, (byte) 0x0b, (byte) 0xfa, (byte) 0x2d, (byte) 0x1b, (byte) 0x0b, (byte) 0x94, (byte) 0x00, (byte) 0x11, (byte) 0xf2, (byte) 0x76, (byte) 0x89, (byte) 0x83, (byte) 0x1b, (byte) 0x0b, (byte) 0x26, (byte) 0x2f, (byte) 0x1b, (byte) 0x0b, (byte) 0xa0, (byte) 0x00, (byte) 0x11, (byte) 0x92, (byte) 0x51, (byte) 0xb6, (byte) 0x84, (byte) 0x1b, (byte) 0x0b, (byte) 0x53, (byte) 0x30, (byte) 0x1b, (byte) 0x0b, (byte) 0xaa, (byte) 0x00, (byte) 0x12, (byte) 0xff, (byte) 0xec, (byte) 0x0e, (byte) 0x87, (byte) 0x1b, (byte) 0x0b, (byte) 0xab, (byte) 0x32, (byte) 0x1b, (byte) 0x0b, (byte) 0xbf, (byte) 0x00, (byte) 0x12, (byte) 0xb5, (byte) 0x16, (byte) 0x39, (byte) 0x88, (byte) 0x1b, (byte) 0x0b, (byte) 0xd7, (byte) 0x33, (byte) 0x1b, (byte) 0x0b, (byte) 0xc8, (byte) 0x00, (byte) 0x12, (byte) 0xcc, (byte) 0x58, (byte) 0x66, (byte) 0x89, (byte) 0x1b, (byte) 0x0b, (byte) 0x03, (byte) 0x35, (byte) 0x1b, (byte) 0x0b, (byte) 0xcf, (byte) 0x00, (byte) 0x12, (byte) 0x8b, (byte) 0x25, (byte) 0x91, (byte) 0x8a, (byte) 0x1b, (byte) 0x0b, (byte) 0x2e, (byte) 0x36, (byte) 0x1b, (byte) 0x0b, (byte) 0xd3, (byte) 0x00, (byte) 0x13, (byte) 0xfe, (byte) 0xe3, (byte) 0xbd, (byte) 0x8b, (byte) 0x1b, (byte) 0x0b, (byte) 0x5a, (byte) 0x37, (byte) 0x1b, (byte) 0x0b, (byte) 0xd4, (byte) 0x00, (byte) 0x14, (byte) 0x78, (byte) 0x20, (byte) 0xe9, (byte) 0x8c, (byte) 0x1b, (byte) 0x0b, (byte) 0x86, (byte) 0x38, (byte) 0x1b, (byte) 0x0b, (byte) 0xd7, (byte) 0x00, (byte) 0x14, (byte) 0x7b, (byte) 0xf3, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff}; private byte[] pageHeaderSmall = new byte[]{(byte) 0x0a, (byte) 0x14, (byte) 0x00, (byte) 0x00, (byte) 0x26, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x04, (byte) 0x02, (byte) 0x87, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0xaa}; private byte[] pageHeaderBadCrc = new byte[]{(byte) 0x0a, (byte) 0x14, (byte) 0x00, (byte) 0x00, (byte) 0x26, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x04, (byte) 0x02, (byte) 0x87, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0xaa, (byte) 0xc0}; @Test public void testPageHeaderParse() throws Exception { PageHeader header = new PageHeader(pageHeader); assertThat(header.getFirstRecordIndex(), is(5130)); assertThat(header.getNumOfRecords(), is(38)); assertThat(header.getRecordType().ordinal(), is(4)); assertThat(header.getRevision(), is((byte) 2)); assertThat(header.getPageNumber(), is(135)); assertThat(header.getReserved2(), is(0)); assertThat(header.getReserved3(), is(0)); assertThat(header.getReserved4(), is(0)); } @Test(expected = InvalidRecordLengthException.class) public void testSmallPageHeaderParse() throws Exception { PageHeader header = new PageHeader(pageHeaderSmall); } @Test(expected = CRCFailError.class) public void testPageHeaderParseBadCrc() throws Exception { PageHeader header = new PageHeader(pageHeaderBadCrc); } }