19 #include <ripple/beast/core/SemanticVersion.h>
20 #include <ripple/beast/unit_test.h>
35 BEAST_EXPECT(v.
parse(input));
36 BEAST_EXPECT(v.
print() == input);
40 BEAST_EXPECT(!v.
parse(input));
122 check(
"2147483647.2147483647.2147483647");
194 BEAST_EXPECT(v.
parse(input));
201 BEAST_EXPECT(v.
metaData == metaData);
213 checkValues(
"1.2.3-rc1.debug.asm", 1, 2, 3,
ids(
"rc1",
"debug",
"asm"));
217 "1.2.3+full.prod.x86", 1, 2, 3,
ids(),
ids(
"full",
"prod",
"x86"));
219 "1.2.3-rc1.debug.asm+full.prod.x86",
223 ids(
"rc1",
"debug",
"asm"),
224 ids(
"full",
"prod",
"x86"));
234 BEAST_EXPECT(left.parse(lhs));
235 BEAST_EXPECT(right.parse(rhs));
237 BEAST_EXPECT(
compare(left, left) == 0);
238 BEAST_EXPECT(
compare(right, right) == 0);
239 BEAST_EXPECT(
compare(left, right) < 0);
240 BEAST_EXPECT(
compare(right, left) > 0);
242 BEAST_EXPECT(left < right);
243 BEAST_EXPECT(right > left);
244 BEAST_EXPECT(left == left);
245 BEAST_EXPECT(right == right);
260 testcase(
"comparisons");
262 checkLess(
"1.0.0-alpha",
"1.0.0-alpha.1");
263 checkLess(
"1.0.0-alpha.1",
"1.0.0-alpha.beta");
264 checkLess(
"1.0.0-alpha.beta",
"1.0.0-beta");
266 checkLess(
"1.0.0-beta.2",
"1.0.0-beta.11");
267 checkLess(
"1.0.0-beta.11",
"1.0.0-rc.1");
SemanticVersion::identifier_list identifier_list
void negcheck(std::string const &input)
static identifier_list ids(std::string const &s1)
void checkLessInternal(std::string const &lhs, std::string const &rhs)
static identifier_list ids()
void checkRelease(std::string const &input, bool shouldPass=true)
std::string print() const
Produce a string from semantic version components.
int compare(SemanticVersion const &lhs, SemanticVersion const &rhs)
Compare two SemanticVersions against each other.
void check(std::string const &input, bool shouldPass=true)
static identifier_list ids(std::string const &s1, std::string const &s2)
A Semantic Version number.
void checkLess(std::string const &lhs, std::string const &rhs)
void checkMetaFail(std::string const &input)
identifier_list preReleaseIdentifiers
std::vector< std::string > identifier_list
void checkFail(std::string const &input)
bool parse(std::string const &input)
Parse a semantic version string.
void checkMeta(std::string const &input, bool shouldPass)
void checkValues(std::string const &input, int majorVersion, int minorVersion, int patchVersion, identifier_list const &preReleaseIdentifiers=identifier_list(), identifier_list const &metaData=identifier_list())
BEAST_DEFINE_TESTSUITE(aged_set, container, beast)
void checkPass(std::string const &input, bool shouldPass=true)
static identifier_list ids(std::string const &s1, std::string const &s2, std::string const &s3)