{
  "expectation_type": "expect_column_values_to_be_null",
  "datasets": [
    {
      "data": {
        "one_null": [4, 5, null, 7],
        "two_null": [null, null, 5, 6],
        "three_null": [null, null, null, 5],
        "no_null": ["a", "b", "c", "d"],
        "all_null": [null, null, null, null]
      },
      "schemas": {
        "spark": {
          "one_null": "IntegerType",
          "two_null": "IntegerType",
          "three_null": "IntegerType",
          "no_null": "StringType",
          "all_null": "StringType"
        }
      },
      "tests": [
        {
          "title": "Basic positive case, BASIC result format",
          "exact_match_out": true,
          "in": {
            "column": "all_null",
            "result_format": "BASIC"
          },
          "out": {
            "success": true,
            "result": {
              "element_count": 4,
              "unexpected_count": 0,
              "unexpected_percent": 0.0,
              "partial_unexpected_list": []
            }
          }
        },{
          "title": "Negative, no missing values",
          "exact_match_out": false,
          "in": {
            "column": "no_null"
          },
          "out": {
            "success": false,
            "unexpected_list": ["a", "b", "c", "d"],
            "unexpected_index_list": [0, 1, 2, 3]
          }
        },{
          "title": "Positive, mostly",
          "exact_match_out": false,
          "in": {
            "column": "three_null",
            "mostly": 0.75
          },
          "out": {
            "success": true,
            "unexpected_list": [5],
            "unexpected_index_list": [3]
          }
        },{
          "title": "Negative, mostly",
          "exact_match_out": false,
          "in": {
            "column": "three_null",
            "mostly": 0.8
          },
          "out": {
            "success": false,
            "unexpected_list": [5],
            "unexpected_index_list": [3]
          }
        },{
          "title": "Positive case with mostly and no unexpected values",
          "exact_match_out": false,
          "in": {
            "column": "all_null",
            "mostly": 0.9
          },
          "out": {
            "success": true,
            "unexpected_list": [],
            "unexpected_index_list": []
          }
        },
        {
          "title": "Negative case with 75% non-null values, no mostly",
          "exact_match_out": false,
          "in": {
            "column": "one_null"
          },
          "out": {
            "success": false,
            "unexpected_list": [
              4,
              5,
              7
            ],
            "unexpected_index_list": [
              0,
              1,
              3
            ]
          }
        }]
    }]
}
