Skip to content

Commit

Permalink
Merge pull request #213 from LLNL/more_user_defined_units_usage
Browse files Browse the repository at this point in the history
Use the user defined units in string conversion operations
  • Loading branch information
phlptp authored Mar 25, 2022
2 parents 23a91d6 + 1b92bd6 commit 01c8b63
Show file tree
Hide file tree
Showing 4 changed files with 239 additions and 91 deletions.
1 change: 1 addition & 0 deletions test/files/fuzz_issues/meas_fail30
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/<>y-³'
2 changes: 1 addition & 1 deletion test/fuzz_issue_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ TEST_P(measProblems, measFiles)
}
}

INSTANTIATE_TEST_SUITE_P(measFiles, measProblems, ::testing::Range(0, 30));
INSTANTIATE_TEST_SUITE_P(measFiles, measProblems, ::testing::Range(0, 31));

class meas64Problems : public ::testing::TestWithParam<int> {
};
Expand Down
22 changes: 21 additions & 1 deletion test/test_unit_strings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -855,7 +855,26 @@ TEST(userDefinedUnits, definitions)

EXPECT_EQ(to_string(clucks), "clucks");

EXPECT_EQ(to_string(clucks.inv()), "1/clucks");

EXPECT_EQ(to_string(clucks.pow(2)), "clucks^2");

EXPECT_EQ(to_string(clucks * kg), "clucks*kg");

EXPECT_EQ(to_string(precise::kg / clucks.pow(2)), "kg/clucks^2");

clearUserDefinedUnits();
}

TEST(userDefinedUnits, definitions_angstrom)
{
addUserDefinedUnit("angstrom", precise::distance::angstrom);

auto str = to_string(units::unit_from_string("us / angstrom^2"));
EXPECT_EQ(str, "us/angstrom^2");
str = to_string(units::unit_from_string("us / angstrom"));
EXPECT_EQ(str, "us/angstrom");
clearUserDefinedUnits();
}

TEST(userDefinedUnits, definitionStrings)
Expand Down Expand Up @@ -883,8 +902,9 @@ TEST(userDefinedUnits, definitionStringsInputOnly)
EXPECT_EQ(ipm, idgit / min);

auto str = to_string(ipm);
/** input only should not result in any string result with the user defined
* input*/
EXPECT_EQ(str.find("idgit"), std::string::npos);
EXPECT_NE(str.find("kat"), std::string::npos);
clearUserDefinedUnits();
}

Expand Down
Loading

0 comments on commit 01c8b63

Please sign in to comment.