---
inputType: CA10__CaAwsInstance__c
conditions:
  - status: COMPLIANT
    currentStateMessage: Simple-1
    check:
      UNIT_TEST:
        id: Simple-1
        expected:
          text: "unitTest(Simple-1): number(0.0) <= number(1.0)"
        arg:
          LESS_THAN_EQUAL:
            left:
              NUMBER: 0
            right:
              NUMBER: 1
  - status: COMPLIANT
    currentStateMessage: Simple-2
    check:
      UNIT_TEST:
        id: Simple-2
        expected:
          text: "unitTest(Simple-2): not(number(1.0) <= number(0.0))"
        arg:
          NOT:
            arg:
              LESS_THAN_EQUAL:
                left:
                  NUMBER: 1
                right:
                  NUMBER: 0
  - status: COMPLIANT
    currentStateMessage: Simple-3
    check:
      UNIT_TEST:
        id: Simple-3
        expected:
          text: "unitTest(Simple-3): number(1.0) <= number(1.0)"
        arg:
          LESS_THAN_EQUAL:
            left:
              NUMBER: 1
            right:
              NUMBER: 1
  - status: COMPLIANT
    currentStateMessage: Simple-4
    check:
      UNIT_TEST:
        id: Simple-4
        expected:
          text: "unitTest(Simple-4): number(1.0) <= number(1.0000000001)"
        arg:
          LESS_THAN_EQUAL:
            left:
              NUMBER: 1
            right:
              NUMBER: 1.0000000001
  - status: COMPLIANT
    currentStateMessage: Precision-1
    check:
      UNIT_TEST:
        id: Precision-1
        expected:
          text: "unitTest(Precision-1): number(1.111111111222223E9) <= number(1.111111111222224E9)"
        arg:
          LESS_THAN_EQUAL:
            left:
              NUMBER: 1111111111.222223
            right:
              NUMBER: 1111111111.222224
  - status: COMPLIANT
    currentStateMessage: Precision-2
    check:
      UNIT_TEST:
        id: Precision-2
        expected:
          text: "unitTest(Precision-2): number(1.1111111112222233E9) <= number(1.1111111112222235E9)"
        arg:
          LESS_THAN_EQUAL:
            left:
              NUMBER: 1111111111.2222234
            right:
              NUMBER: 1111111111.2222235
  - status: COMPLIANT
    currentStateMessage: Precision-3
    check:
      UNIT_TEST:
        id: Precision-3
        expected:
          text: "unitTest(Precision-3): number(1.1111111112222235E9) <= number(1.1111111112222235E9)"
        arg:
          LESS_THAN_EQUAL:
            left:
              NUMBER: 1111111111.22222346
            right:
              NUMBER: 1111111111.22222345
  - status: COMPLIANT
    currentStateMessage: Null-1
    check:
      UNIT_TEST:
        id: Null-1
        expected:
          text: "unitTest(Null-1): not(null <= null)"
        arg:
          NOT:
            arg:
              LESS_THAN_EQUAL:
                left:
                  UNIT_TEST_NULL:
                    returnType: NUMBER
                right:
                  UNIT_TEST_NULL:
                    returnType: NUMBER
  - status: COMPLIANT
    currentStateMessage: Null-2
    check:
      UNIT_TEST:
        id: Null-2
        expected:
          text: "unitTest(Null-2): not(number(-1.0) <= null)"
        arg:
          NOT:
            arg:
              LESS_THAN_EQUAL:
                left:
                  NUMBER: -1
                right:
                  UNIT_TEST_NULL:
                    returnType: NUMBER
  - status: COMPLIANT
    currentStateMessage: Null-3
    check:
      UNIT_TEST:
        id: Null-3
        expected:
          text: "unitTest(Null-3): not(number(1.0) <= null)"
        arg:
          NOT:
            arg:
              LESS_THAN_EQUAL:
                left:
                  NUMBER: 1
                right:
                  UNIT_TEST_NULL:
                    returnType: NUMBER
  - status: COMPLIANT
    currentStateMessage: Null-4
    check:
      UNIT_TEST:
        id: Null-4
        expected:
          text: "unitTest(Null-4): not(null <= number(-1.0))"
        arg:
          NOT:
            arg:
              LESS_THAN_EQUAL:
                left:
                  UNIT_TEST_NULL:
                    returnType: NUMBER
                right:
                  NUMBER: -1
  - status: COMPLIANT
    currentStateMessage: Null-5
    check:
      UNIT_TEST:
        id: Null-5
        expected:
          text: "unitTest(Null-5): not(null <= number(1.0))"
        arg:
          NOT:
            arg:
              LESS_THAN_EQUAL:
                left:
                  UNIT_TEST_NULL:
                    returnType: NUMBER
                right:
                  NUMBER: 1
otherwise:
  status: INCOMPLIANT
  currentStateMessage: Test Failed
  remediationMessage: Developer Fix Required