{
  "schema": "https://bars.commonsware.com/conformance/schema/render-fixture.schema.json",
  "version": "0.1.0",
  "cases": [
    {
      "name": "at_least-raises-to-minimum",
      "spotlight": true,
      "description": "at_least returns the argument when the input is below it via {{ n | at_least: 5 }}.",
      "template": "{{ n | at_least: 5 }}",
      "context": {
        "n": 3
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "5"
      }
    },
    {
      "name": "at_least-keeps-larger-input",
      "spotlight": true,
      "description": "at_least returns the input when it is already at or above the minimum.",
      "template": "{{ n | at_least: 5 }}",
      "context": {
        "n": 8
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "8"
      }
    },
    {
      "name": "at_least-fractional-minimum",
      "description": "at_least returns a fractional minimum when it is the larger value.",
      "template": "{{ n | at_least: 2.5 }}",
      "context": {
        "n": 1
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "2.5"
      }
    },
    {
      "name": "at_least-non-numeric-input-is-null",
      "description": "A non-numeric input is a soft failure, so at_least yields null.",
      "template": "{{ n | at_least: 5 }}",
      "context": {
        "n": "x"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "null"
      }
    },
    {
      "name": "at_least-non-numeric-argument-is-null",
      "description": "A non-numeric argument is a soft failure, so at_least yields null.",
      "template": "{{ n | at_least: \"x\" }}",
      "context": {
        "n": 5
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "null"
      }
    },
    {
      "name": "at_least-zero-args-is-error",
      "description": "Calling at_least with zero arguments produces an arity error.",
      "template": "{{ n | at_least }}",
      "context": {
        "n": 5
      },
      "expect": {
        "kind": "error",
        "errorCode": "KB-2002"
      }
    },
    {
      "name": "at_least-datetime-keeps-later-argument",
      "description": "With DateTime input and a DateTime argument, at_least returns the later instant.",
      "template": "{{ a | as_date_time: 'seconds' | at_least: ( b | as_date_time: 'seconds' ) }}",
      "context": {
        "a": 100,
        "b": 200
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "1970-01-01T00:03:20Z"
      }
    },
    {
      "name": "at_least-datetime-keeps-later-input",
      "description": "With DateTime input and a DateTime argument, at_least returns the input when it is the later instant.",
      "template": "{{ a | as_date_time: 'seconds' | at_least: ( b | as_date_time: 'seconds' ) }}",
      "context": {
        "a": 500,
        "b": 200
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "1970-01-01T00:08:20Z"
      }
    },
    {
      "name": "at_least-datetime-non-datetime-argument-is-null",
      "description": "DateTime input with a non-DateTime argument is a soft failure, so at_least yields null.",
      "template": "{{ a | as_date_time: 'seconds' | at_least: 5 }}",
      "context": {
        "a": 100
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "null"
      }
    }
  ]
}
