1fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenpackage com.xtremelabs.robolectric.shadows; 2fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 3fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport static org.hamcrest.CoreMatchers.equalTo; 4fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport static org.hamcrest.CoreMatchers.not; 5fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport static org.junit.Assert.assertArrayEquals; 6fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport static org.junit.Assert.assertEquals; 7fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport static org.junit.Assert.assertThat; 8fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 9fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 10fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 11fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport org.junit.Test; 12fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport org.junit.runner.RunWith; 13fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 14fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport android.content.pm.Signature; 15fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenimport android.os.Parcel; 16fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 17fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen@RunWith(WithTestDefaultsRunner.class) 18fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogenpublic class SignatureTest { 19fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 20fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen @Test 21fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen public void shouldHaveByteArrayConstructorAndToByteArray() { 22fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen byte[] bytes = { (byte) 0xAC, (byte) 0xDE }; 23fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen Signature signature = new Signature(bytes); 24fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 25fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen assertArrayEquals(bytes, signature.toByteArray()); 26fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen } 27fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 28fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen @Test 29fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen public void shouldHaveCreator() throws Exception { 30fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen byte[] bytes = { (byte) 0xAC, (byte) 0xDE }; 31fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen Signature expected = new Signature(bytes); 32fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen Parcel p = Parcel.obtain(); 33fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen expected.writeToParcel(p, 0); 34fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 35fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen p.setDataPosition(0); 36fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 37fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen Signature actual = Signature.CREATOR.createFromParcel(p); 38fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen assertEquals(expected, actual); 39fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen } 40fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen 41fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen @Test 42fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen public void shouldProvideEqualsAndHashCode() throws Exception { 43fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen assertThat(new Signature(new byte[] { (byte) 0xAC }), 44fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen equalTo(new Signature(new byte[] { (byte) 0xAC }))); 45fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen assertThat(new Signature(new byte[] { (byte) 0xAC }), 46fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen not(equalTo(new Signature(new byte[] { (byte) 0xDE })))); 47fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen assertThat(new Signature(new byte[] { (byte) 0xAC }).hashCode(), 48fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen equalTo(new Signature(new byte[] { (byte) 0xAC }).hashCode())); 49fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen assertThat(new Signature(new byte[] { (byte) 0xAC }).hashCode(), 50fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen not(equalTo(new Signature(new byte[] { (byte) 0xDE }).hashCode()))); 51fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen } 52fe20862bc4c9814d601886845811552fcf195dffJon Boekenoogen} 53