20#include <xrpl/beast/core/SemanticVersion.h>
21#include <xrpl/beast/unit_test.h>
37 BEAST_EXPECT(v.
parse(input));
38 BEAST_EXPECT(v.
print() == input);
42 BEAST_EXPECT(!v.
parse(input));
124 check(
"2147483647.2147483647.2147483647");
196 BEAST_EXPECT(v.
parse(input));
203 BEAST_EXPECT(v.
metaData == metaData);
215 checkValues(
"1.2.3-rc1.debug.asm", 1, 2, 3,
ids(
"rc1",
"debug",
"asm"));
219 "1.2.3+full.prod.x86", 1, 2, 3,
ids(),
ids(
"full",
"prod",
"x86"));
221 "1.2.3-rc1.debug.asm+full.prod.x86",
225 ids(
"rc1",
"debug",
"asm"),
226 ids(
"full",
"prod",
"x86"));
236 BEAST_EXPECT(left.parse(lhs));
237 BEAST_EXPECT(right.parse(rhs));
239 BEAST_EXPECT(
compare(left, left) == 0);
240 BEAST_EXPECT(
compare(right, right) == 0);
241 BEAST_EXPECT(
compare(left, right) < 0);
242 BEAST_EXPECT(
compare(right, left) > 0);
244 BEAST_EXPECT(left < right);
245 BEAST_EXPECT(right > left);
246 BEAST_EXPECT(left == left);
247 BEAST_EXPECT(right == right);
264 checkLess(
"1.0.0-alpha",
"1.0.0-alpha.1");
265 checkLess(
"1.0.0-alpha.1",
"1.0.0-alpha.beta");
266 checkLess(
"1.0.0-alpha.beta",
"1.0.0-beta");
268 checkLess(
"1.0.0-beta.2",
"1.0.0-beta.11");
269 checkLess(
"1.0.0-beta.11",
"1.0.0-rc.1");
static identifier_list ids()
SemanticVersion::identifier_list identifier_list
void checkFail(std::string const &input)
void checkPass(std::string const &input, bool shouldPass=true)
void check(std::string const &input, bool shouldPass=true)
void checkMeta(std::string const &input, bool shouldPass)
static identifier_list ids(std::string const &s1, std::string const &s2, std::string const &s3)
void checkLess(std::string const &lhs, std::string const &rhs)
void checkLessInternal(std::string const &lhs, std::string const &rhs)
void checkMetaFail(std::string const &input)
static identifier_list ids(std::string const &s1, std::string const &s2)
void checkRelease(std::string const &input, bool shouldPass=true)
static identifier_list ids(std::string const &s1)
void checkValues(std::string const &input, int majorVersion, int minorVersion, int patchVersion, identifier_list const &preReleaseIdentifiers=identifier_list(), identifier_list const &metaData=identifier_list())
void run() override
Runs the suite.
void negcheck(std::string const &input)
A Semantic Version number.
bool parse(std::string const &input)
Parse a semantic version string.
identifier_list preReleaseIdentifiers
std::string print() const
Produce a string from semantic version components.
std::vector< std::string > identifier_list
testcase_t testcase
Memberspace for declaring test cases.
int compare(SemanticVersion const &lhs, SemanticVersion const &rhs)
Compare two SemanticVersions against each other.