MCPcopy Create free account
hub / github.com/docopt/docopt.go / TestPatternEither

Function TestPatternEither

docopt_test.go:910–972  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

908}
909
910func TestPatternEither(t *testing.T) {
911 p := newOption("-a", "", 0, false).transform()
912 q := newEither(newRequired(
913 newOption("-a", "", 0, false)))
914 if p.eq(q) != true {
915 t.Fail()
916 }
917
918 p = newArgument("A", nil).transform()
919 q = newEither(newRequired(
920 newArgument("A", nil)))
921 if p.eq(q) != true {
922 t.Fail()
923 }
924
925 p = newRequired(
926 newEither(
927 newOption("-a", "", 0, false),
928 newOption("-b", "", 0, false)),
929 newOption("-c", "", 0, false)).transform()
930 q = newEither(
931 newRequired(
932 newOption("-a", "", 0, false),
933 newOption("-c", "", 0, false)),
934 newRequired(
935 newOption("-b", "", 0, false),
936 newOption("-c", "", 0, false)))
937 if p.eq(q) != true {
938 t.Fail()
939 }
940
941 p = newOptional(newOption("-a", "", 0, false),
942 newEither(newOption("-b", "", 0, false),
943 newOption("-c", "", 0, false))).transform()
944 q = newEither(
945 newRequired(
946 newOption("-b", "", 0, false), newOption("-a", "", 0, false)),
947 newRequired(
948 newOption("-c", "", 0, false), newOption("-a", "", 0, false)))
949 if p.eq(q) != true {
950 t.Fail()
951 }
952
953 p = newEither(newOption("-x", "", 0, false),
954 newEither(newOption("-y", "", 0, false),
955 newOption("-z", "", 0, false))).transform()
956 q = newEither(
957 newRequired(newOption("-x", "", 0, false)),
958 newRequired(newOption("-y", "", 0, false)),
959 newRequired(newOption("-z", "", 0, false)))
960 if p.eq(q) != true {
961 t.Fail()
962 }
963
964 p = newOneOrMore(newArgument("N", nil),
965 newArgument("M", nil)).transform()
966 q = newEither(
967 newRequired(newArgument("N", nil), newArgument("M", nil),

Callers

nothing calls this directly

Calls 8

newOptionFunction · 0.85
newEitherFunction · 0.85
newRequiredFunction · 0.85
newArgumentFunction · 0.85
newOptionalFunction · 0.85
newOneOrMoreFunction · 0.85
transformMethod · 0.80
eqMethod · 0.45

Tested by

no test coverage detected