1a5ef5409SShawn McCarney /**
2a5ef5409SShawn McCarney  * Copyright © 2020 IBM Corporation
3a5ef5409SShawn McCarney  *
4a5ef5409SShawn McCarney  * Licensed under the Apache License, Version 2.0 (the "License");
5a5ef5409SShawn McCarney  * you may not use this file except in compliance with the License.
6a5ef5409SShawn McCarney  * You may obtain a copy of the License at
7a5ef5409SShawn McCarney  *
8a5ef5409SShawn McCarney  *     http://www.apache.org/licenses/LICENSE-2.0
9a5ef5409SShawn McCarney  *
10a5ef5409SShawn McCarney  * Unless required by applicable law or agreed to in writing, software
11a5ef5409SShawn McCarney  * distributed under the License is distributed on an "AS IS" BASIS,
12a5ef5409SShawn McCarney  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a5ef5409SShawn McCarney  * See the License for the specific language governing permissions and
14a5ef5409SShawn McCarney  * limitations under the License.
15a5ef5409SShawn McCarney  */
16a5ef5409SShawn McCarney #include "pmbus_error.hpp"
17a5ef5409SShawn McCarney 
18a5ef5409SShawn McCarney #include <gtest/gtest.h>
19a5ef5409SShawn McCarney 
20a5ef5409SShawn McCarney using namespace phosphor::power::regulators;
21a5ef5409SShawn McCarney 
TEST(PMBusErrorTests,Constructor)22a5ef5409SShawn McCarney TEST(PMBusErrorTests, Constructor)
23a5ef5409SShawn McCarney {
24*5b819f44SShawn McCarney     PMBusError error(
25*5b819f44SShawn McCarney         "VOUT_MODE contains unsupported data format", "vdd_reg",
26*5b819f44SShawn McCarney         "/xyz/openbmc_project/inventory/system/chassis/motherboard/reg2");
27*5b819f44SShawn McCarney     EXPECT_EQ(error.getDeviceID(), "vdd_reg");
28*5b819f44SShawn McCarney     EXPECT_EQ(error.getInventoryPath(),
29*5b819f44SShawn McCarney               "/xyz/openbmc_project/inventory/system/chassis/motherboard/reg2");
30a5ef5409SShawn McCarney     EXPECT_STREQ(error.what(),
31a5ef5409SShawn McCarney                  "PMBusError: VOUT_MODE contains unsupported data format");
32a5ef5409SShawn McCarney }
33a5ef5409SShawn McCarney 
TEST(PMBusErrorTests,GetDeviceID)34*5b819f44SShawn McCarney TEST(PMBusErrorTests, GetDeviceID)
35*5b819f44SShawn McCarney {
36*5b819f44SShawn McCarney     PMBusError error(
37*5b819f44SShawn McCarney         "VOUT_MODE contains unsupported data format", "vdd_reg",
38*5b819f44SShawn McCarney         "/xyz/openbmc_project/inventory/system/chassis/motherboard/reg2");
39*5b819f44SShawn McCarney     EXPECT_EQ(error.getDeviceID(), "vdd_reg");
40*5b819f44SShawn McCarney }
41*5b819f44SShawn McCarney 
TEST(PMBusErrorTests,GetInventoryPath)42*5b819f44SShawn McCarney TEST(PMBusErrorTests, GetInventoryPath)
43*5b819f44SShawn McCarney {
44*5b819f44SShawn McCarney     PMBusError error(
45*5b819f44SShawn McCarney         "VOUT_MODE contains unsupported data format", "vdd_reg",
46*5b819f44SShawn McCarney         "/xyz/openbmc_project/inventory/system/chassis/motherboard/reg2");
47*5b819f44SShawn McCarney     EXPECT_EQ(error.getInventoryPath(),
48*5b819f44SShawn McCarney               "/xyz/openbmc_project/inventory/system/chassis/motherboard/reg2");
49*5b819f44SShawn McCarney }
50*5b819f44SShawn McCarney 
TEST(PMBusErrorTests,What)51a5ef5409SShawn McCarney TEST(PMBusErrorTests, What)
52a5ef5409SShawn McCarney {
53*5b819f44SShawn McCarney     PMBusError error(
54*5b819f44SShawn McCarney         "VOUT_MODE contains unsupported data format", "vdd_reg",
55*5b819f44SShawn McCarney         "/xyz/openbmc_project/inventory/system/chassis/motherboard/reg2");
56a5ef5409SShawn McCarney     EXPECT_STREQ(error.what(),
57*5b819f44SShawn McCarney                  "PMBusError: VOUT_MODE contains unsupported data format");
58a5ef5409SShawn McCarney }
59