1#include <xrpl/beast/core/SemanticVersion.h>
2#include <xrpl/beast/unit_test.h>
18 BEAST_EXPECT(v.
parse(input));
19 BEAST_EXPECT(v.
print() == input);
23 BEAST_EXPECT(!v.
parse(input));
105 check(
"2147483647.2147483647.2147483647");
177 BEAST_EXPECT(v.
parse(input));
184 BEAST_EXPECT(v.
metaData == metaData);
196 checkValues(
"1.2.3-rc1.debug.asm", 1, 2, 3,
ids(
"rc1",
"debug",
"asm"));
200 "1.2.3+full.prod.x86", 1, 2, 3,
ids(),
ids(
"full",
"prod",
"x86"));
202 "1.2.3-rc1.debug.asm+full.prod.x86",
206 ids(
"rc1",
"debug",
"asm"),
207 ids(
"full",
"prod",
"x86"));
217 BEAST_EXPECT(left.parse(lhs));
218 BEAST_EXPECT(right.parse(rhs));
220 BEAST_EXPECT(
compare(left, left) == 0);
221 BEAST_EXPECT(
compare(right, right) == 0);
222 BEAST_EXPECT(
compare(left, right) < 0);
223 BEAST_EXPECT(
compare(right, left) > 0);
225 BEAST_EXPECT(left < right);
226 BEAST_EXPECT(right > left);
227 BEAST_EXPECT(left == left);
228 BEAST_EXPECT(right == right);
245 checkLess(
"1.0.0-alpha",
"1.0.0-alpha.1");
246 checkLess(
"1.0.0-alpha.1",
"1.0.0-alpha.beta");
247 checkLess(
"1.0.0-alpha.beta",
"1.0.0-beta");
249 checkLess(
"1.0.0-beta.2",
"1.0.0-beta.11");
250 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.