// From https://github.com/php/php-src/blob/master/ext/standard/tests/versioning/version_compare.phpt
1 < 2
10 > 2
1.0 < 1.1
1.2 > 1.0.1
1.0-dev = 1.0-dev
1.0-dev < 1.0a1
1.0-dev < 1.0b1
1.0-dev < 1.0RC1
1.0-dev < 1.0rc1
1.0-dev < 1.0
1.0-dev < 1.0pl1
1.0a1 > 1.0-dev
1.0a1 = 1.0a1
1.0a1 < 1.0b1
1.0a1 < 1.0RC1
1.0a1 < 1.0rc1
1.0a1 < 1.0
1.0a1 < 1.0pl1
1.0b1 > 1.0-dev
1.0b1 > 1.0a1
1.0b1 = 1.0b1
1.0b1 < 1.0RC1
1.0b1 < 1.0rc1
1.0b1 < 1.0
1.0b1 < 1.0pl1
1.0RC1 > 1.0-dev
1.0RC1 > 1.0a1
1.0RC1 > 1.0b1
1.0RC1 = 1.0RC1
1.0RC1 = 1.0rc1
1.0RC1 < 1.0
1.0RC1 < 1.0pl1
1.0rc1 > 1.0-dev
1.0rc1 > 1.0a1
1.0rc1 > 1.0b1
1.0rc1 = 1.0RC1
1.0rc1 = 1.0rc1
1.0rc1 < 1.0
1.0rc1 < 1.0pl1
1.0 > 1.0-dev
1.0 > 1.0a1
1.0 > 1.0b1
1.0 > 1.0RC1
1.0 > 1.0rc1
1.0 = 1.0
1.0 < 1.0pl1
1.0pl1 > 1.0-dev
1.0pl1 > 1.0a1
1.0pl1 > 1.0b1
1.0pl1 > 1.0RC1
1.0pl1 > 1.0rc1
1.0pl1 > 1.0
1.0pl1 = 1.0pl1

v1.0pl1 > 1.0-dev
v1.0pl1 > 1.0a1
v1.0pl1 > 1.0b1
v1.0pl1 > 1.0RC1
v1.0pl1 > 1.0rc1
v1.0pl1 > 1.0
v1.0pl1 = 1.0pl1

v1.0pl1 > v1.0-dev
v1.0pl1 > v1.0a1
v1.0pl1 > v1.0b1
v1.0pl1 > v1.0RC1
v1.0pl1 > v1.0rc1
v1.0pl1 > v1.0
v1.0pl1 = v1.0pl1

4.3-2RC1 < 4.3-2RC2
4.3-2RC2 > 4.3-2beta5
4.3-2 > 4.3-2beta1
1.0.0 > 1.0
1.0.0rc2 = 1.0.0.rc2

v1 < 2
v10 > 2
v1.0 < 1.1
v1.2 > 1.0.1

// From https://github.com/composer/semver/blob/main/tests/ComparatorTest.php
1.25.0 < 1.26.0
1.0.0 < 1.2-dev
dev-foo < 1.26.0
1.25.0 = 1.25.0
1.25.0-beta2.1 = 1.25.0-b.2.1
1.25.0beta2.1 = 1.25.0-b2.1
1.26.0 > dev-foo
1.25.0 > 1.24.0

// Edge case tests
1.2.3.# = 1.2.3
1.2.3.# = 1.2.3.#
1.2.3.# = 1.2.3.1
1.2.3.#.1 > 1.2.3
1.2.3.#.p3 > 1.2.3
1.2.3.#.beta < 1.2.3

// check case-sensitive "v" because it won't be included in the generated list
v1.0.0 = V1.0.0
V1.0.0 = v1.0.0
V1.0.0 < 1.2.3

999999999999999999999999999991 < 999999999999999999999999999999
999999999999999999999999999991.999999999999999999999999999991.999999999999999999999999999991 < 999999999999999999999999999999.999999999999999999999999999991.999999999999999999999999999991
