Commit 92801ac2 authored by Paul's avatar Paul
Browse files

Add more literal tests

parent f4a7c749
......@@ -50,4 +50,72 @@ TEST_CASE(literal_os3)
EXPECT(ss.str() == "1, 2, 3");
}
TEST_CASE(literal_visit_at)
{
migraphx::literal x{1};
bool visited = false;
x.visit_at([&](int i) {
visited = true;
EXPECT(i == 1);
});
EXPECT(visited);
}
TEST_CASE(literal_visit)
{
migraphx::literal x{1};
migraphx::literal y{1};
bool visited = false;
x.visit([&](auto i) {
y.visit([&](auto j) {
visited = true;
EXPECT(i == j);
});
});
EXPECT(visited);
}
TEST_CASE(literal_visit_all)
{
migraphx::literal x{1};
migraphx::literal y{1};
bool visited = false;
migraphx::visit_all(x, y)([&](auto i, auto j) {
visited = true;
EXPECT(i == j);
});
EXPECT(visited);
}
TEST_CASE(literal_visit_mismatch_shape)
{
migraphx::literal x{1};
migraphx::shape s{migraphx::shape::int64_type, {3}};
migraphx::literal y{s, {1, 2, 3}};
bool visited = false;
x.visit([&](auto i) {
y.visit([&](auto j) {
visited = true;
EXPECT(i != j);
});
});
EXPECT(visited);
}
TEST_CASE(literal_visit_all_mismatch_type)
{
migraphx::shape s1{migraphx::shape::int32_type, {1}};
migraphx::literal x{s1, {1}};
migraphx::shape s2{migraphx::shape::int8_type, {1}};
migraphx::literal y{s2, {1}};
EXPECT(test::throws<migraphx::exception>([&] { migraphx::visit_all(x, y)([&](auto, auto) {}); }));
}
TEST_CASE(literal_visit_empty)
{
migraphx::literal x{};
EXPECT(test::throws([&]{ x.visit([](auto){}); }));
EXPECT(test::throws([&]{ x.visit_at([](auto){}); }));
}
int main(int argc, const char* argv[]) { test::run(argc, argv); }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment