11dc52f076977039a6bf112885feca6638c05cd29Peter Qiu/* 21dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * Copyright (C) 2016 The Android Open Source Project 31dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * 41dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * Licensed under the Apache License, Version 2.0 (the "License"); 51dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * you may not use this file except in compliance with the License. 61dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * You may obtain a copy of the License at 71dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * 81dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * http://www.apache.org/licenses/LICENSE-2.0 91dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * 101dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * Unless required by applicable law or agreed to in writing, software 111dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * distributed under the License is distributed on an "AS IS" BASIS, 121dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * See the License for the specific language governing permissions and 141dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * limitations under the License. 151dc52f076977039a6bf112885feca6638c05cd29Peter Qiu */ 161dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 171dc52f076977039a6bf112885feca6638c05cd29Peter Qiupackage com.android.server.wifi.hotspot2.anqp; 181dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 191dc52f076977039a6bf112885feca6638c05cd29Peter Qiuimport static org.junit.Assert.assertEquals; 201dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 211dc52f076977039a6bf112885feca6638c05cd29Peter Qiuimport android.test.suitebuilder.annotation.SmallTest; 221dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 231dc52f076977039a6bf112885feca6638c05cd29Peter Qiuimport org.junit.Test; 241dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 251dc52f076977039a6bf112885feca6638c05cd29Peter Qiuimport java.nio.ByteBuffer; 261dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 271dc52f076977039a6bf112885feca6638c05cd29Peter Qiu/** 281dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * Unit tests for {@link com.android.server.wifi.hotspot2.anqp.RawByteElement}. 291dc52f076977039a6bf112885feca6638c05cd29Peter Qiu */ 301dc52f076977039a6bf112885feca6638c05cd29Peter Qiu@SmallTest 311dc52f076977039a6bf112885feca6638c05cd29Peter Qiupublic class RawByteElementTest { 321dc52f076977039a6bf112885feca6638c05cd29Peter Qiu private static final Constants.ANQPElementType TEST_ELEMENT_ID = 331dc52f076977039a6bf112885feca6638c05cd29Peter Qiu Constants.ANQPElementType.HSOSUProviders; 341dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 351dc52f076977039a6bf112885feca6638c05cd29Peter Qiu /** 361dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * Verify that a RawByteElement with an empty payload will be returned when parsing 371dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * an empty buffer. 381dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * 391dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * @throws Exception 401dc52f076977039a6bf112885feca6638c05cd29Peter Qiu */ 411dc52f076977039a6bf112885feca6638c05cd29Peter Qiu @Test 421dc52f076977039a6bf112885feca6638c05cd29Peter Qiu public void parseEmptyBuffer() throws Exception { 431dc52f076977039a6bf112885feca6638c05cd29Peter Qiu byte[] data = new byte[0]; 441dc52f076977039a6bf112885feca6638c05cd29Peter Qiu RawByteElement actual = RawByteElement.parse(TEST_ELEMENT_ID, ByteBuffer.wrap(data)); 451dc52f076977039a6bf112885feca6638c05cd29Peter Qiu RawByteElement expected = new RawByteElement(TEST_ELEMENT_ID, data); 461dc52f076977039a6bf112885feca6638c05cd29Peter Qiu assertEquals(expected, actual); 471dc52f076977039a6bf112885feca6638c05cd29Peter Qiu } 481dc52f076977039a6bf112885feca6638c05cd29Peter Qiu 491dc52f076977039a6bf112885feca6638c05cd29Peter Qiu /** 501dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * Verify that the expected RawByteElement will be returned when parsing a non-empty 511dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * buffer. 521dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * 531dc52f076977039a6bf112885feca6638c05cd29Peter Qiu * @throws Exception 541dc52f076977039a6bf112885feca6638c05cd29Peter Qiu */ 551dc52f076977039a6bf112885feca6638c05cd29Peter Qiu @Test 561dc52f076977039a6bf112885feca6638c05cd29Peter Qiu public void parseNonEmptyBuffer() throws Exception { 571dc52f076977039a6bf112885feca6638c05cd29Peter Qiu byte[] data = new byte[10]; 581dc52f076977039a6bf112885feca6638c05cd29Peter Qiu RawByteElement actual = RawByteElement.parse(TEST_ELEMENT_ID, ByteBuffer.wrap(data)); 591dc52f076977039a6bf112885feca6638c05cd29Peter Qiu RawByteElement expected = new RawByteElement(TEST_ELEMENT_ID, data); 601dc52f076977039a6bf112885feca6638c05cd29Peter Qiu assertEquals(expected, actual); 611dc52f076977039a6bf112885feca6638c05cd29Peter Qiu } 621dc52f076977039a6bf112885feca6638c05cd29Peter Qiu} 63