mirror of
https://github.com/NVIDIA/nvbench.git
synced 2026-04-20 14:58:54 +00:00
Implement/test mutable string_axis.
This commit is contained in:
@@ -60,8 +60,49 @@ void test_basic()
|
||||
ASSERT(clone->get_description(2) == "");
|
||||
}
|
||||
|
||||
void test_update()
|
||||
{
|
||||
nvbench::string_axis axis("Basic");
|
||||
axis.set_inputs({"String 1", "String 2", "String 3"});
|
||||
|
||||
auto clone_base = axis.clone();
|
||||
ASSERT(clone_base.get() != nullptr);
|
||||
auto *clone = dynamic_cast<nvbench::string_axis *>(clone_base.get());
|
||||
ASSERT(clone != nullptr);
|
||||
|
||||
// Test that the axis is valid after emptying:
|
||||
clone->set_inputs({});
|
||||
ASSERT(clone->get_name() == "Basic");
|
||||
ASSERT(clone->get_size() == 0);
|
||||
|
||||
// Populate with new values:
|
||||
clone->set_inputs({"New String", "Newer String"});
|
||||
ASSERT(clone->get_name() == "Basic");
|
||||
ASSERT(clone->get_size() == 2);
|
||||
ASSERT(clone->get_value(0) == "New String");
|
||||
ASSERT(clone->get_input_string(0) == "New String");
|
||||
ASSERT(clone->get_description(0) == "");
|
||||
ASSERT(clone->get_value(1) == "Newer String");
|
||||
ASSERT(clone->get_input_string(1) == "Newer String");
|
||||
ASSERT(clone->get_description(1) == "");
|
||||
|
||||
// Check that the original axis didn't change
|
||||
ASSERT(axis.get_name() == "Basic");
|
||||
ASSERT(axis.get_size() == 3);
|
||||
ASSERT(axis.get_value(0) == "String 1");
|
||||
ASSERT(axis.get_input_string(0) == "String 1");
|
||||
ASSERT(axis.get_description(0) == "");
|
||||
ASSERT(axis.get_value(1) == "String 2");
|
||||
ASSERT(axis.get_input_string(1) == "String 2");
|
||||
ASSERT(axis.get_description(1) == "");
|
||||
ASSERT(axis.get_value(2) == "String 3");
|
||||
ASSERT(axis.get_input_string(2) == "String 3");
|
||||
ASSERT(axis.get_description(2) == "");
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
test_empty();
|
||||
test_basic();
|
||||
test_update();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user