Home | History | Annotate | Download | only in parser
      1 /*
      2  * Copyright (C) 2015 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package com.android.loganalysis.parser;
     17 
     18 import com.android.loganalysis.item.BatteryUsageItem;
     19 
     20 import junit.framework.TestCase;
     21 
     22 import java.util.Arrays;
     23 import java.util.List;
     24 
     25 /**
     26  * Unit tests for {@link BatteryUsageParser}
     27  */
     28 public class BatteryUsageParserTest extends TestCase {
     29 
     30     private static final double EPSILON = 1e-3;
     31     /**
     32      * Test that normal input is parsed.
     33      */
     34     public void testBatteryUsageParser() {
     35         List<String> inputBlock = Arrays.asList(
     36                 "    Capacity: 3220, Computed drain: 11.0, actual drain: 0",
     37                 "    Screen: 8.93",
     38                 "    Idle: 1.23",
     39                 "    Uid 0: 0.281",
     40                 "    Uid u0a36: 0.200",
     41                 "    Uid 1000: 0.165",
     42                 "    Uid 1013: 0.0911",
     43                 "    Uid u0a16: 0.0441");
     44 
     45         BatteryUsageItem usage = new BatteryUsageParser().parse(inputBlock);
     46 
     47         assertEquals(3220, usage.getBatteryCapacity());
     48         assertEquals(7, usage.getBatteryUsage().size());
     49 
     50         assertEquals("Screen", usage.getBatteryUsage().get(0).getName());
     51         assertEquals(8.93, usage.getBatteryUsage().get(0).getUsage(), EPSILON);
     52         assertEquals("Uid u0a16", usage.getBatteryUsage().get(6).getName());
     53         assertEquals(0.0441, usage.getBatteryUsage().get(6).getUsage());
     54     }
     55 }
     56 
     57