---
inputType: CA10__CaAwsInstance__c
conditions:
  - status: COMPLIANT
    currentStateMessage: Test-1
    check:
      UNIT_TEST:
        id: Test-1
        expected:
          text: "unitTest(Test-1): not([].skipEmpty().skipDuplicates().sort().contains('a'))"
        arg:
          NOT:
            arg:
              CONTAINS:
                arg:
                  COLLECTION:
                    emptyValues: SKIP
                    duplicateValues: SKIP
                    ordering: SORTED
                    itemType: TEXT
                    items: []
                search:
                  TEXT: a
  - status: COMPLIANT
    currentStateMessage: Test-2
    check:
      UNIT_TEST:
        id: Test-2
        expected:
          text: "unitTest(Test-2): ['a'].skipEmpty().skipDuplicates().sort().contains('a')"
        arg:
          CONTAINS:
            arg:
              COLLECTION:
                emptyValues: SKIP
                duplicateValues: SKIP
                ordering: SORTED
                itemType: TEXT
                items:
                  - a
            search:
              TEXT: a
  - status: COMPLIANT
    currentStateMessage: Test-3
    check:
      UNIT_TEST:
        id: Test-3
        expected:
          text: "unitTest(Test-3): not(['b', 'c'].skipEmpty().skipDuplicates().sort().contains('a'))"
        arg:
          NOT:
            arg:
              CONTAINS:
                arg:
                  COLLECTION:
                    emptyValues: SKIP
                    duplicateValues: SKIP
                    ordering: SORTED
                    itemType: TEXT
                    items:
                      - b
                      - c
                search:
                  TEXT: a
  - status: COMPLIANT
    currentStateMessage: Test-4
    check:
      UNIT_TEST:
        id: Test-4
        expected:
          text: "unitTest(Test-4): not(null.contains('a'))"
        arg:
          NOT:
            arg:
              CONTAINS:
                arg:
                  UNIT_TEST_NULL:
                    returnType: COLLECTION_TEXT
                search:
                  TEXT: a
  - status: COMPLIANT
    currentStateMessage: Test-5
    check:
      UNIT_TEST:
        id: Test-5
        expected:
          text: "unitTest(Test-5): not(['a'].skipEmpty().skipDuplicates().sort().contains(null))"
        arg:
          NOT:
            arg:
              CONTAINS:
                arg:
                  COLLECTION:
                    emptyValues: SKIP
                    duplicateValues: SKIP
                    ordering: SORTED
                    itemType: TEXT
                    items:
                      - a
                search:
                  UNIT_TEST_NULL:
                    returnType: TEXT
  - status: COMPLIANT
    currentStateMessage: Test-6
    check:
      UNIT_TEST:
        id: Test-6
        expected:
          text: "unitTest(Test-6): [' ABC '].skipEmpty().skipDuplicates().sort().contains('   abc\\n\\t')"
        arg:
          CONTAINS:
            arg:
              COLLECTION:
                emptyValues: SKIP
                duplicateValues: SKIP
                ordering: SORTED
                itemType: TEXT
                items:
                  - " ABC "
            search:
              TEXT: "   abc\n\t"
otherwise:
  status: INCOMPLIANT
  currentStateMessage: Test Failed
  remediationMessage: Developer Fix Required