~/bend-docscommunity

LAWS.bend source

LAWS.bend on the hub · documented module

import Baseimport ./lib.bend as S# Concrete parse/show roundtrips for representative versions.law parse_roundtrip_zero:  { S.Semver.parse(S.Semver.show(S.Semver{0, 0, 0}))      == Some{S.Semver{0, 0, 0}} : Maybe<&2, S.Semver> }law parse_roundtrip_small:  { S.Semver.parse(S.Semver.show(S.Semver{1, 2, 3}))      == Some{S.Semver{1, 2, 3}} : Maybe<&2, S.Semver> }law parse_roundtrip_large:  { S.Semver.parse(S.Semver.show(S.Semver{4294967295, 17, 0}))      == Some{S.Semver{4294967295, 17, 0}} : Maybe<&2, S.Semver> }law parse_literal:  { S.Semver.parse("12.34.56") == Some{S.Semver{12, 34, 56}}      : Maybe<&2, S.Semver> }law parse_reject_missing_component:  { S.Semver.parse("1.2") == None{} : Maybe<&2, S.Semver> }law parse_reject_metadata:  { S.Semver.parse("1.2.3-alpha") == None{} : Maybe<&2, S.Semver> }law parse_reject_extra_component:  { S.Semver.parse("1.2.3.4") == None{} : Maybe<&2, S.Semver> }# Numeric precedence cases: major, minor, patch, and equality.law cmp_major_lt:  { S.Semver.cmp(S.Semver{1, 0, 0}, S.Semver{2, 0, 0}) == LT{} : Cmp }law cmp_minor_lt:  { S.Semver.cmp(S.Semver{1, 1, 9}, S.Semver{1, 2, 0}) == LT{} : Cmp }law cmp_patch_lt:  { S.Semver.cmp(S.Semver{1, 2, 3}, S.Semver{1, 2, 4}) == LT{} : Cmp }law cmp_eq:  { S.Semver.cmp(S.Semver{7, 8, 9}, S.Semver{7, 8, 9}) == EQ{} : Cmp }law cmp_gt:  { S.Semver.cmp(S.Semver{2, 0, 0}, S.Semver{1, 99, 99}) == GT{} : Cmp }law precedes_true:  { S.Semver.precedes(S.Semver{1, 2, 3}, S.Semver{1, 2, 4}) == True{} : Bool }law precedes_false_on_equal:  { S.Semver.precedes(S.Semver{1, 2, 3}, S.Semver{1, 2, 3}) == False{} : Bool }