Javi Merino | e4c1d45 | 2014-04-01 17:00:47 +0100 | [diff] [blame] | 1 | #!/usr/bin/python |
| 2 | |
Javi Merino | fff3367 | 2014-06-18 16:56:34 +0100 | [diff] [blame] | 3 | import pandas as pd |
| 4 | |
Javi Merino | c26e1c7 | 2014-04-08 16:39:01 +0100 | [diff] [blame] | 5 | from test_thermal import TestThermalBase |
Javi Merino | 62c56dc | 2014-05-07 17:41:12 +0100 | [diff] [blame] | 6 | from cr2 import OutPower, InPower |
Javi Merino | fff3367 | 2014-06-18 16:56:34 +0100 | [diff] [blame] | 7 | import power |
Javi Merino | e4c1d45 | 2014-04-01 17:00:47 +0100 | [diff] [blame] | 8 | |
| 9 | class TestPower(TestThermalBase): |
Javi Merino | 34f9da1 | 2014-06-19 15:48:16 +0100 | [diff] [blame] | 10 | def __init__(self, *args, **kwargs): |
| 11 | super(TestPower, self).__init__(*args, **kwargs) |
| 12 | self.map_label = {"000000f0": "A15", "0000000f": "A7"} |
| 13 | |
Javi Merino | fff3367 | 2014-06-18 16:56:34 +0100 | [diff] [blame] | 14 | def test_pivot_with_labels(self): |
| 15 | """Test pivot_with_labels()""" |
| 16 | dfr_in = pd.DataFrame({'cpus': ["000000f0", "0000000f", "000000f0", "0000000f"], |
| 17 | 'freq': [1, 3, 2, 6]}) |
Javi Merino | fff3367 | 2014-06-18 16:56:34 +0100 | [diff] [blame] | 18 | |
Javi Merino | 34f9da1 | 2014-06-19 15:48:16 +0100 | [diff] [blame] | 19 | dfr_out = power.pivot_with_labels(dfr_in, "freq", "cpus", self.map_label) |
Javi Merino | fff3367 | 2014-06-18 16:56:34 +0100 | [diff] [blame] | 20 | |
| 21 | self.assertEquals(dfr_out["A15"].iloc[0], 1) |
| 22 | self.assertEquals(dfr_out["A15"].iloc[1], 1) |
| 23 | self.assertEquals(dfr_out["A15"].iloc[2], 2) |
| 24 | self.assertEquals(dfr_out["A7"].iloc[1], 3) |
| 25 | |
Javi Merino | 2e920b5 | 2014-05-07 17:29:36 +0100 | [diff] [blame] | 26 | def test_outpower_get_dataframe(self): |
| 27 | """Test OutPower.get_data_frame()""" |
| 28 | df = OutPower().get_data_frame() |
Javi Merino | e4c1d45 | 2014-04-01 17:00:47 +0100 | [diff] [blame] | 29 | |
Javi Merino | 2b65c0b | 2014-06-04 18:16:42 +0100 | [diff] [blame] | 30 | self.assertEquals(df["power"].iloc[0], 5036) |
| 31 | print df.columns |
Javi Merino | e4c1d45 | 2014-04-01 17:00:47 +0100 | [diff] [blame] | 32 | self.assertTrue("cdev_state" in df.columns) |
Javi Merino | 62c56dc | 2014-05-07 17:41:12 +0100 | [diff] [blame] | 33 | |
Javi Merino | 73234c1 | 2014-06-18 17:27:16 +0100 | [diff] [blame] | 34 | def test_outpower_get_all_freqs(self): |
| 35 | """Test OutPower.get_all_freqs()""" |
Javi Merino | 34f9da1 | 2014-06-19 15:48:16 +0100 | [diff] [blame] | 36 | dfr = OutPower().get_all_freqs(self.map_label) |
Javi Merino | 73234c1 | 2014-06-18 17:27:16 +0100 | [diff] [blame] | 37 | |
| 38 | self.assertEquals(dfr["A15"].iloc[0], 1900) |
| 39 | self.assertEquals(dfr["A7"].iloc[1], 1400) |
| 40 | |
Javi Merino | 62c56dc | 2014-05-07 17:41:12 +0100 | [diff] [blame] | 41 | def test_inpower_get_dataframe(self): |
| 42 | """Test InPower.get_data_frame()""" |
| 43 | df = InPower().get_data_frame() |
| 44 | |
| 45 | self.assertEquals(df["load0"].iloc[0], 2) |
| 46 | self.assertTrue("load0" in df.columns) |
Javi Merino | 8a79fb3 | 2014-05-07 17:56:23 +0100 | [diff] [blame] | 47 | |
Javi Merino | 73234c1 | 2014-06-18 17:27:16 +0100 | [diff] [blame] | 48 | def test_inpower_get_all_freqs(self): |
| 49 | """Test InPower.get_all_freqs()""" |
| 50 | map_label = {1: "A15", |
| 51 | 0: "A7"} |
| 52 | dfr = InPower().get_all_freqs(map_label) |
| 53 | |
| 54 | self.assertEquals(dfr["A15"].iloc[0], 1900) |
| 55 | self.assertEquals(dfr["A7"].iloc[1], 500) |
| 56 | self.assertEquals(dfr["A15"].iloc[18], 1800) |
| 57 | |
Javi Merino | 9237a3c | 2014-06-18 12:18:51 +0100 | [diff] [blame] | 58 | def test_inpower_get_load_data(self): |
| 59 | """Test InPower.get_load_data()""" |
| 60 | load_data = InPower().get_load_data({0: "A7", 1: "A15"}) |
| 61 | |
| 62 | self.assertEquals(load_data["A15"].iloc[0], 2 + 6 + 0 + 1) |
| 63 | self.assertEquals(load_data["A7"].iloc[3], 9 + 7 + 20 + 2) |
| 64 | self.assertEquals(load_data["A15"].iloc[0], load_data["A15"].iloc[1]) |
| 65 | |
Javi Merino | 9237a3c | 2014-06-18 12:18:51 +0100 | [diff] [blame] | 66 | def test_inpower_plot_load(self): |
| 67 | """Test that InPower.plot_load() doesn't explode""" |
| 68 | InPower().plot_load({0: "A7", 1: "A15"}, title="Util") |