blob: 90580b51ee11d6db00b07f803c4a2f99625cee52 [file] [log] [blame]
William A. Kennington III8ff58122018-10-26 00:42:36 -07001#include <gpioplus/utility/aspeed.hpp>
2#include <gtest/gtest.h>
3
4namespace gpioplus
5{
6namespace utility
7{
8namespace aspeed
9{
10namespace
11{
12
13TEST(AspeedTest, NameToOffset)
14{
15 EXPECT_EQ(5, nameToOffset("A5"));
16 EXPECT_EQ(33, nameToOffset("E1"));
17 EXPECT_EQ(202, nameToOffset("Z2"));
18 EXPECT_EQ(208, nameToOffset("AA0"));
19 EXPECT_EQ(223, nameToOffset("AB7"));
20}
21
22TEST(AspeedTest, NameToOffsetShort)
23{
24 EXPECT_THROW(nameToOffset(""), std::logic_error);
25 EXPECT_THROW(nameToOffset("A"), std::logic_error);
26 EXPECT_THROW(nameToOffset("0"), std::logic_error);
27}
28
29TEST(AspeedTest, NameToOffsetBad)
30{
31 EXPECT_THROW(nameToOffset("00"), std::logic_error);
32 EXPECT_THROW(nameToOffset("AB"), std::logic_error);
33 EXPECT_THROW(nameToOffset(".1"), std::logic_error);
34 EXPECT_THROW(nameToOffset("A#"), std::logic_error);
35}
36
37TEST(AspeedTest, NameToOffsetMaybeBad)
38{
39 EXPECT_THROW(nameToOffset("BA0"), std::logic_error);
40 EXPECT_THROW(nameToOffset("AAA0"), std::logic_error);
41}
42
43} // namespace
44} // namespace aspeed
45} // namespace utility
46} // namespace gpioplus