blob: c1f15f70e27dcdd0a00dbf148c27924b6c437077 [file] [log] [blame]
#include "../utils.hpp"
#include <gtest/gtest.h>
using namespace sdbusplus::message::variant_ns;
using namespace phosphor::inventory::manager;
using namespace std::string_literals;
TEST(UtilsTest, TestVariantVisitor)
{
variant<int, std::string> ib1(100);
auto converted1 = convertVariant<variant<int>>(ib1);
EXPECT_TRUE(get<int>(converted1) == 100);
variant<int, std::string> ib2(100);
EXPECT_THROW(convertVariant<variant<std::string>>(ib2), std::runtime_error);
}
TEST(UtilsTest, TestCompareFirst)
{
auto c = compareFirst(std::less<int>());
auto p1 = std::make_pair(1, 2);
auto p2 = std::make_pair(3, 4);
EXPECT_TRUE(c(p1, p2));
EXPECT_TRUE(c(1, p2));
EXPECT_TRUE(c(p1, 2));
EXPECT_FALSE(c(p2, p1));
EXPECT_FALSE(c(p2, 1));
EXPECT_FALSE(c(2, p1));
auto p3 = std::make_pair(1, 100);
auto p4 = std::make_pair(1, 200);
EXPECT_FALSE(c(p3, p4));
EXPECT_FALSE(c(1, p4));
EXPECT_TRUE(c(p3, 2));
EXPECT_FALSE(c(p4, p3));
EXPECT_FALSE(c(p4, 1));
EXPECT_FALSE(c(2, p3));
}
TEST(UtilsTest, TestRelPathComparePrefix)
{
auto s1 = "prefixfoo"s;
auto s2 = "prefixbar"s;
RelPathCompare comp("prefix");
EXPECT_TRUE(comp(s2, s1));
EXPECT_FALSE(comp(s1, s2));
auto s3 = "bar"s;
auto s4 = "foo"s;
EXPECT_FALSE(comp(s4, s3));
EXPECT_TRUE(comp(s3, s4));
auto s5 = "prefixbar"s;
auto s6 = "foo"s;
EXPECT_FALSE(comp(s6, s5));
EXPECT_TRUE(comp(s5, s6));
auto s7 = "bar"s;
auto s8 = "prefixfoo"s;
EXPECT_FALSE(comp(s8, s7));
EXPECT_TRUE(comp(s7, s8));
}
TEST(UtilsTest, TestRelPathCompareNoPrefix)
{
auto s1 = "prefixfoo"s;
auto s2 = "prefixbar"s;
RelPathCompare comp("");
EXPECT_TRUE(comp(s2, s1));
EXPECT_FALSE(comp(s1, s2));
auto s3 = "bar"s;
auto s4 = "foo"s;
EXPECT_FALSE(comp(s4, s3));
EXPECT_TRUE(comp(s3, s4));
auto s5 = "prefixbar"s;
auto s6 = "foo"s;
EXPECT_TRUE(comp(s6, s5));
EXPECT_FALSE(comp(s5, s6));
auto s7 = "bar"s;
auto s8 = "prefixfoo"s;
EXPECT_FALSE(comp(s8, s7));
EXPECT_TRUE(comp(s7, s8));
}