1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License. You may obtain a copy of the License at 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.apache.harmony.archive.tests.java.util.zip; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.zip.CRC32; 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(CRC32.class) 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class CRC32Test extends junit.framework.TestCase { 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.zip.CRC32#CRC32() 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "CRC32", 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor() { 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // test methods of java.util.zip.CRC32() 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CRC32 crc = new CRC32(); 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Constructor of CRC32 failed", 0, crc.getValue()); 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.zip.CRC32#getValue() 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getValue", 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getValue() { 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // test methods of java.util.zip.crc32.getValue() 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CRC32 crc = new CRC32(); 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "getValue() should return a zero as a result of constructing a CRC32 instance", 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0, crc.getValue()); 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(Integer.MAX_VALUE); 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc " + crc.getValue()); 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 4278190080 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(max) failed to update the checksum to the correct value ", 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 4278190080L, crc.getValue()); 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte byteEmpty[] = new byte[10000]; 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(byteEmpty); 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc"+crc.getValue()); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 1295764014 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(byte[]) failed to update the checksum to the correct value ", 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1295764014L, crc.getValue()); 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(1); 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc"+crc.getValue()); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 2768625435 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // assertEquals("update(int) failed to update the checksum to the 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // correct 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // value ",2768625435L, crc.getValue()); 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("reset failed to reset the checksum value to zero", 0, crc 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getValue()); 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.zip.CRC32#reset() 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "reset", 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_reset() { 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // test methods of java.util.zip.crc32.reset() 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CRC32 crc = new CRC32(); 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(1); 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc"+crc.getValue()); 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 2768625435 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(int) failed to update the checksum to the correct value ", 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 2768625435L, crc.getValue()); 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("reset failed to reset the checksum value to zero", 0, crc 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getValue()); 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.zip.CRC32#update(int) 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "update", 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_updateI() { 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // test methods of java.util.zip.crc32.update(int) 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CRC32 crc = new CRC32(); 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(1); 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc"+crc.getValue()); 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 2768625435 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(1) failed to update the checksum to the correct value ", 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 2768625435L, crc.getValue()); 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(Integer.MAX_VALUE); 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc " + crc.getValue()); 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 4278190080 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(max) failed to update the checksum to the correct value ", 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 4278190080L, crc.getValue()); 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(Integer.MIN_VALUE); 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc " + crc.getValue()); 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 3523407757 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(min) failed to update the checksum to the correct value ", 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 3523407757L, crc.getValue()); 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.zip.CRC32#update(byte[]) 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "update", 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class} 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_update$B() { 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // test methods of java.util.zip.crc32.update(byte[]) 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte byteArray[] = {1, 2}; 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CRC32 crc = new CRC32(); 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(byteArray); 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc"+crc.getValue()); 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 3066839698 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(byte[]) failed to update the checksum to the correct value ", 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 3066839698L, crc.getValue()); 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.reset(); 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte byteEmpty[] = new byte[10000]; 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(byteEmpty); 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc"+crc.getValue()); 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 1295764014 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(byte[]) failed to update the checksum to the correct value ", 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1295764014L, crc.getValue()); 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.zip.CRC32#update(byte[], int, int) 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "update", 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class} 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_update$BII() { 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // test methods of java.util.zip.update(byte[],int,int) 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] byteArray = {1, 2, 3}; 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CRC32 crc = new CRC32(); 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int off = 2;// accessing the 2nd element of byteArray 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int len = 1; 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int lenError = 3; 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int offError = 4; 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(byteArray, off, len); 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // System.out.print("value of crc"+crc.getValue()); 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ran JDK and discovered that the value of the CRC should be 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // 1259060791 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(byte[],int,int) failed to update the checksum to the correct value ", 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1259060791L, crc.getValue()); 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int r = 0; 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(byteArray, off, lenError); 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r = 1; 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(byte[],int,int) failed b/c lenError>byte[].length-off", 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1, r); 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project crc.update(byteArray, offError, len); 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (ArrayIndexOutOfBoundsException e) { 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r = 2; 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals( 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "update(byte[],int,int) failed b/c offError>byte[].length", 2, 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r); 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() { 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() { 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 243