/* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.ddmlib; import com.android.ddmlib.BatteryFetcher.SysFsBatteryLevelReceiver; import junit.framework.TestCase; import java.util.Random; public class SysFsBatteryLevelReceiverTest extends TestCase { private SysFsBatteryLevelReceiver mReceiver; private Integer mExpected1, mExpected2; @Override protected void setUp() throws Exception { super.setUp(); mReceiver = new SysFsBatteryLevelReceiver(); Random r = new Random(System.currentTimeMillis()); mExpected1 = r.nextInt(101); mExpected2 = r.nextInt(101); } public void testSingleLine() { String[] lines = {mExpected1.toString()}; mReceiver.processNewLines(lines); assertEquals(mExpected1, mReceiver.getBatteryLevel()); } public void testWithTrailingWhitespace1() { String[] lines = {mExpected1 + " "}; mReceiver.processNewLines(lines); assertEquals(mExpected1, mReceiver.getBatteryLevel()); } public void testWithTrailingWhitespace2() { String[] lines = {mExpected1 + "\n"}; mReceiver.processNewLines(lines); assertEquals(mExpected1, mReceiver.getBatteryLevel()); } public void testWithTrailingWhitespace3() { String[] lines = {mExpected1 + "\r"}; mReceiver.processNewLines(lines); assertEquals(mExpected1, mReceiver.getBatteryLevel()); } public void testWithTrailingWhitespace4() { String[] lines = {mExpected1 + "\r\n"}; mReceiver.processNewLines(lines); assertEquals(mExpected1, mReceiver.getBatteryLevel()); } public void testMultipleLinesSame() { String[] lines = {mExpected1 + "\n", mExpected2.toString()}; mReceiver.processNewLines(lines); assertEquals(mExpected1, mReceiver.getBatteryLevel()); } public void testMultipleLinesDifferent() { String[] lines = {mExpected1 + "\n", mExpected2.toString()}; mReceiver.processNewLines(lines); assertEquals(mExpected1, mReceiver.getBatteryLevel()); } public void testInvalid() { String[] lines = {"foo\n", "bar", "yadda"}; mReceiver.processNewLines(lines); assertNull(mReceiver.getBatteryLevel()); } }