1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.javax.net.ssl; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.net.ssl.SSLEngineResult; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tests for SSLEngineResult class 26f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class SSLEngineResultTest extends TestCase { 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>SSLEngineResult(SSLEngineResult.Status status, 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * SSLEngineResult.HandshakeStatus handshakeStatus, 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * int bytesConsumed, 34f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * int bytesProduced) </code> constructor and 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>getHandshakeStatus()</code> 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>getStatus()</code> 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>bytesConsumed()</code> 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>bytesProduced()</code> 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>toString()</code> 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * methods 41f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * Assertions: 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor throws IllegalArgumentException when bytesConsumed 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * or bytesProduced is negative or when status or handshakeStatus 44f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * is null 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorLjavax_net_ssl_SSLEngineResult_StatusLjavax_net_ssl_SSLEngineResult_HandshakeStatusII() { 48f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] neg = { -1, -10, -1000, Integer.MIN_VALUE, 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (Integer.MIN_VALUE + 1) }; 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SSLEngineResult(null, SSLEngineResult.HandshakeStatus.FINISHED, 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, 1); 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException must be thrown"); 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SSLEngineResult(SSLEngineResult.Status.BUFFER_OVERFLOW, null, 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, 1); 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException must be thrown"); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < neg.length; i++) { 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SSLEngineResult(SSLEngineResult.Status.BUFFER_OVERFLOW, 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.FINISHED, neg[i], 1); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException must be thrown"); 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < neg.length; i++) { 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SSLEngineResult(SSLEngineResult.Status.BUFFER_OVERFLOW, 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.FINISHED, 1, neg[i]); 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException must be thrown"); 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 79f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult res = new SSLEngineResult(SSLEngineResult.Status.BUFFER_OVERFLOW, 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.FINISHED, 1, 2); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("Null object", res); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(1, res.bytesConsumed()); 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(2, res.bytesProduced()); 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e); 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 90f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>bytesConsumed()</code> method 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_bytesConsumed() { 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] pos = { 0, 1, 1000, Integer.MAX_VALUE, (Integer.MAX_VALUE - 1) }; 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status [] enS = 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status.values(); 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus [] enHS = 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.values(); 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < enS.length; i++) { 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int j = 0; j < enHS.length; j++) { 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int n = 0; n < pos.length; n++) { 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int l = 0; l < pos.length; l++) { 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult res = new SSLEngineResult(enS[i], 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enHS[j], pos[n], pos[l]); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect bytesConsumed", pos[n], 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project res.bytesConsumed()); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>bytesProduced()</code> method 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_bytesProduced() { 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] pos = { 0, 1, 1000, Integer.MAX_VALUE, (Integer.MAX_VALUE - 1) }; 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status [] enS = 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status.values(); 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus [] enHS = 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.values(); 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < enS.length; i++) { 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int j = 0; j < enHS.length; j++) { 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int n = 0; n < pos.length; n++) { 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int l = 0; l < pos.length; ++l) { 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult res = new SSLEngineResult(enS[i], 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enHS[j], pos[n], pos[l]); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect bytesProduced", pos[l], 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project res.bytesProduced()); 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>getHandshakeStatus()</code> method 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getHandshakeStatus() { 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] pos = { 0, 1, 1000, Integer.MAX_VALUE, (Integer.MAX_VALUE - 1) }; 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status [] enS = 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status.values(); 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus [] enHS = 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.values(); 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < enS.length; i++) { 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int j = 0; j < enHS.length; j++) { 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int n = 0; n < pos.length; n++) { 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int l = 0; l < pos.length; ++l) { 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult res = new SSLEngineResult(enS[i], 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enHS[j], pos[n], pos[l]); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect HandshakeStatus", enHS[j], 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project res.getHandshakeStatus()); 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>getStatus()</code> method 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getStatus() { 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] pos = { 0, 1, 1000, Integer.MAX_VALUE, (Integer.MAX_VALUE - 1) }; 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status [] enS = 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status.values(); 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus [] enHS = 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.values(); 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < enS.length; i++) { 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int j = 0; j < enHS.length; j++) { 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int n = 0; n < pos.length; n++) { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int l = 0; l < pos.length; ++l) { 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult res = new SSLEngineResult(enS[i], 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enHS[j], pos[n], pos[l]); 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect Status", enS[i], 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project res.getStatus()); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>toString()</code> method 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_toString() { 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] pos = { 0, 1, 1000, Integer.MAX_VALUE, (Integer.MAX_VALUE - 1) }; 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status [] enS = 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.Status.values(); 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus [] enHS = 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult.HandshakeStatus.values(); 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < enS.length; i++) { 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int j = 0; j < enHS.length; j++) { 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int n = 0; n < pos.length; n++) { 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int l = 0; l < pos.length; ++l) { 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SSLEngineResult res = new SSLEngineResult(enS[i], 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enHS[j], pos[n], pos[l]); 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("Result of toSring() method is null", 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project res.toString()); 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private boolean findEl(Object[] arr, Object el) { 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean ok = false; 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < arr.length; i++) { 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (arr[i].equals(el)) { 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ok = true; 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project break; 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return ok; 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 218