{
  "expect_column_value_lengths_to_equal": [
    {
      "Positive test, String, one character length": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be $value characters long.",
            "params": {
              "column": "equal_length_string",
              "value": 1,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, String, value is 1 too high": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be $value characters long.",
            "params": {
              "column": "equal_length_string",
              "value": 2,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with missing value in column, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be $value characters long, at least $mostly_pct % of the time.",
            "params": {
              "column": "s3",
              "value": 4,
              "mostly": 0.5,
              "mostly_pct": "50.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, one length too small": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be $value characters long.",
            "params": {
              "column": "s1",
              "value": 5,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive, one length too small, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be $value characters long, at least $mostly_pct % of the time.",
            "params": {
              "column": "s1",
              "value": 5,
              "mostly": 0.8,
              "mostly_pct": "80.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, integer, length = 1": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be $value characters long.",
            "params": {
              "column": "equal_length_integer",
              "value": 1,
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_not_be_null": [
    {
      "Basic positive case, COMPLETE result format": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must never be null.",
            "params": {
              "column": "no_null",
              "result_format": "BASIC",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, all missing values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must never be null.",
            "params": {
              "column": "all_null",
              "result_format": "COMPLETE",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not be null, at least $mostly_pct % of the time.",
            "params": {
              "column": "one_null",
              "mostly": 0.7,
              "result_format": "COMPLETE",
              "mostly_pct": "70.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, no mostly, one missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must never be null.",
            "params": {
              "column": "one_null",
              "result_format": "COMPLETE",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not be null, at least $mostly_pct % of the time.",
            "params": {
              "column": "one_null",
              "mostly": 0.8,
              "mostly_pct": "80.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive case with mostly and no unexpected values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not be null, at least $mostly_pct % of the time.",
            "params": {
              "column": "no_null",
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative case with 75% null values, no mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must never be null.",
            "params": {
              "column": "three_null",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_match_regex_list": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match any of the following regular expressions: $v__0.",
            "params": {
              "column": "w",
              "regex_list": [
                "\\d+"
              ],
              "mostly": null,
              "match_on": null,
              "v__0": "\\d+"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with multiple regexes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match any of the following regular expressions: $v__0 $v__1.",
            "params": {
              "column": "w",
              "regex_list": [
                "[123]+",
                "[456]+"
              ],
              "match_on": "any",
              "mostly": null,
              "v__0": "[123]+",
              "v__1": "[456]+"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match all of the following regular expressions: $v__0 $v__1.",
            "params": {
              "column": "w",
              "regex_list": [
                "[123]+",
                "[456]+"
              ],
              "match_on": "all",
              "mostly": null,
              "v__0": "[123]+",
              "v__1": "[456]+"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with more string-ish strings": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match any of the following regular expressions: $v__0.",
            "params": {
              "column": "x",
              "regex_list": [
                "^.*a.*$"
              ],
              "mostly": null,
              "match_on": null,
              "v__0": "^.*a.*$"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with match_on=any": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match any of the following regular expressions: $v__0 $v__1.",
            "params": {
              "column": "x",
              "regex_list": [
                "^.*a.*$",
                "b.t"
              ],
              "match_on": "any",
              "mostly": null,
              "v__0": "^.*a.*$",
              "v__1": "b.t"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 10,
              "min_value": 1,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Another basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 20,
              "min_value": 0,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Missing min_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be less than $max_value.",
            "params": {
              "column": "x",
              "max_value": 20,
              "min_value": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Null min_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be less than $max_value.",
            "params": {
              "column": "x",
              "min_value": null,
              "max_value": 20,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Missing max_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be more than $min_value.",
            "params": {
              "column": "x",
              "min_value": 0,
              "max_value": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Null max_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be more than $min_value.",
            "params": {
              "column": "x",
              "min_value": 0,
              "max_value": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 9,
              "min_value": 1,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Another negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 10,
              "min_value": 3,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 10,
              "min_value": 1,
              "result_format": "BOOLEAN_ONLY",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Another positive test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 20,
              "min_value": 0,
              "result_format": "BOOLEAN_ONLY",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 9,
              "min_value": 1,
              "result_format": "BOOLEAN_ONLY",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Another negative test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "max_value": 10,
              "min_value": 3,
              "result_format": "BOOLEAN_ONLY",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "x",
              "max_value": 10,
              "min_value": 1,
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "2nd positive test with mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "x",
              "max_value": 20,
              "min_value": 0,
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "3rd positive test with mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "x",
              "max_value": 9,
              "min_value": 1,
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "x",
              "max_value": 10,
              "min_value": 3,
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Error: improperly mixed types": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "y",
              "max_value": 10,
              "min_value": 1,
              "mostly": 0.95,
              "catch_exceptions": true,
              "mostly_pct": "95.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Error: improperly mixed types again": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "y",
              "max_value": 10,
              "min_value": 1,
              "mostly": 0.9,
              "catch_exceptions": true,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Error: improperly mixed types once more": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "y",
              "max_value": 10,
              "min_value": 1,
              "mostly": 0.8,
              "catch_exceptions": true,
              "mostly_pct": "80.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test to verify that the denominator for mostly works with missing values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "z",
              "max_value": 4,
              "min_value": 1,
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test to verify that the denominator for mostly works with missing values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be between $min_value and $max_value, at least $mostly_pct % of the time.",
            "params": {
              "column": "z",
              "max_value": 4,
              "min_value": 1,
              "mostly": 0.8,
              "mostly_pct": "80.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "ts",
              "max_value": "Dec 31 2000",
              "min_value": "Jan 01 2000",
              "parse_strings_as_datetimes": true,
              "output_strftime_format": "%b %d %Y %H:%M",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Error on string-to-int comparisons": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "numeric",
              "max_value": 10,
              "min_value": 0,
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test 'min_value is greater than max_value'": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "min_value": 10,
              "max_value": 0,
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test allow_cross_type_comparisons": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "y",
              "min_value": 0,
              "max_value": 10,
              "allow_cross_type_comparisons": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test allow_cross_type_comparisons again": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value.",
            "params": {
              "column": "numeric",
              "min_value": 0,
              "max_value": 10,
              "allow_cross_type_comparisons": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Verify that min_value=max_value=None raises an error": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column may have any numerical value.",
            "params": {
              "column": "y",
              "max_value": null,
              "min_value": null,
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_match_regex": [
    {
      "Negative test, insufficient Mostly + one non-matching value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "^a",
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, exact mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "^a",
              "mostly": 0.8,
              "mostly_pct": "80.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, sufficient mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "^a",
              "mostly": 0.7,
              "mostly_pct": "70.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, one missing value and insufficent mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "b",
              "regex": "^a",
              "mostly": 0.8,
              "mostly_pct": "80.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, one missing value and exact mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "b",
              "regex": "^a",
              "mostly": 0.75,
              "mostly_pct": "75.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, one missing value and sufficent mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "b",
              "regex": "^a",
              "mostly": 0.7,
              "mostly_pct": "70.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test. all missing values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex.",
            "params": {
              "column": "c",
              "regex": "^a",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test. all missing values, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "c",
              "regex": "^a",
              "mostly": 0.2,
              "mostly_pct": "20.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, Empty regex": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match a regular expression but none was specified.",
            "params": {
              "column": "b",
              "regex": "",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, more complicated regex pattern": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex.",
            "params": {
              "column": "b",
              "regex": "[ab]{1}[a-d]{2}",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, match characters not at the beginning of string": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "b",
              "mostly": 0.4,
              "mostly_pct": "40.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_not_be_in_set": [
    {
      "Basic positive test case, single value not in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "x",
              "value_set": [
                0
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": 0
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case, include one existing column value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "x",
              "value_set": [
                1
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive, Empty values set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "x",
              "value_set": [],
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic Negative strings set, all character values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "z",
              "value_set": [
                "hello",
                "jello",
                "mello"
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": "hello",
              "v__1": "jello",
              "v__2": "mello"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, strings set, extra value in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "z",
              "value_set": [
                "ello"
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": "ello"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, float set, two out of three column values included, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "y",
              "value_set": [
                1.1,
                2.2
              ],
              "mostly": 0.65,
              "parse_strings_as_datetimes": null,
              "v__0": 1.1,
              "v__1": 2.2,
              "mostly_pct": "65.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, float set, two out of three column values included, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "y",
              "value_set": [
                1.1,
                2.2
              ],
              "mostly": 0.7,
              "parse_strings_as_datetimes": null,
              "v__0": 1.1,
              "v__1": 2.2,
              "mostly_pct": "70.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, values set is null": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "n",
              "value_set": [
                null
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Raise TypeError when Values set is missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column",
            "params": {
              "column": "z",
              "value_set": null,
              "catch_exceptions": true,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_of_type": [
    {
      "basic_python_int_positive_test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "x",
              "type_": "int",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "basic_sqlalchemy_int_positive_test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "x",
              "type_": "INTEGER",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "basic_spark_int_positive_test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "x",
              "type_": "IntegerType",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_python_ints_are_not_string": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "x",
              "type_": "string",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_sql_ints_are_not_text": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "x",
              "type_": "TEXT",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, sqlite integer is not VARCHAR": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "x",
              "type_": "VARCHAR",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_sql_ints_are_not_text": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "x",
              "type_": "StringType",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_pandas_floats": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "y",
              "type_": "float",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_postgres_floats": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "y",
              "type_": "DOUBLE_PRECISION",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_sql_non_postgres_floats": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "y",
              "type_": "FLOAT",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_spark_floats": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "y",
              "type_": "FloatType",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_pandas_strings": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "z",
              "type_": "str",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_sql_TEXT": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "z",
              "type_": "TEXT",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_sql_VARCHAR": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "z",
              "type_": "VARCHAR",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_spark_StringType": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "z",
              "type_": "StringType",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_python_floats_are_not_python_bools": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "b",
              "type_": "bool",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_sqlalchemy_floats_are_not_BOOLEAN": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "b",
              "type_": "BOOLEAN",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_spark_floats_are_not_BooleanType": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "b",
              "type_": "BooleanType",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_pandas_datetime_no_timezone": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "datetime",
              "type_": "datetime64",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_pandas_datetime_with_timezone": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "datetime_tz",
              "type_": "Timestamp",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_pandas_datetime_with_timezone_pd_022_pd_023": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "datetime_tz",
              "type_": "DatetimeTZDtypeType",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_pandas_datetime_with_timezone": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "datetime_tz",
              "type_": "datetime64",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_pandas_datetime_expected_int": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be of type $type_.",
            "params": {
              "column": "datetime_tz",
              "type_": "int",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_in_set": [
    {
      "Basic positive test case, number set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "x",
              "value_set": [
                1,
                2,
                4
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 2,
              "v__2": 4
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true - empty value_set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to a set, but that set is not specified.",
            "params": {
              "column": "x",
              "value_set": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case, exclude existing column value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "x",
              "value_set": [
                2,
                4
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": 2,
              "v__1": 4
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, Empty values set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to a set, but that set is not specified.",
            "params": {
              "column": "x",
              "value_set": [],
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic Positive strings set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "z",
              "value_set": [
                "hello",
                "jello",
                "mello"
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": "hello",
              "v__1": "jello",
              "v__2": "mello"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, strings set, extra value in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "z",
              "value_set": [
                "hello",
                "jello"
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": "hello",
              "v__1": "jello"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test,  numbers set, no matching values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "value_set": [
                3
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": 3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, float set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "y",
              "value_set": [
                1.1,
                2.2,
                5.5
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": 1.1,
              "v__1": 2.2,
              "v__2": 5.5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, float set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "y",
              "value_set": [
                1.11,
                2.22,
                5.51
              ],
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": 1.11,
              "v__1": 2.22,
              "v__2": 5.51
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Raise TypeError when Values set is missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to a set, but that set is not specified.",
            "params": {
              "column": "z",
              "value_set": null,
              "catch_exceptions": true,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test empty column; should be vacuously true": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "empty_column",
              "value_set": [
                "cat",
                "dog"
              ],
              "catch_exceptions": false,
              "mostly": null,
              "parse_strings_as_datetimes": null,
              "v__0": "cat",
              "v__1": "dog"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic positive test case, datetime set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1 $v__2. Values should be parsed as datetimes.",
            "params": {
              "column": "dates",
              "value_set": [
                "2018-01-01",
                "2018-01-02",
                "2018-01-02 00:34:01"
              ],
              "parse_strings_as_datetimes": true,
              "mostly": null,
              "v__0": "2018-01-01",
              "v__1": "2018-01-02",
              "v__2": "2018-01-02 00:34:01"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test case, datetime set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must belong to this set: $v__0 $v__1. Values should be parsed as datetimes.",
            "params": {
              "column": "dates",
              "value_set": [
                "2018-01-02",
                "2018-01-02 00:34:01"
              ],
              "parse_strings_as_datetimes": true,
              "mostly": null,
              "v__0": "2018-01-02",
              "v__1": "2018-01-02 00:34:01"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_decreasing": [
    {
      "Positive test with mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be less than or equal to previous values, at least $mostly_pct % of the time.",
            "params": {
              "column": "w",
              "mostly": 0.6,
              "strictly": null,
              "parse_strings_as_datetimes": null,
              "mostly_pct": "60.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be less than or equal to previous values.",
            "params": {
              "column": "y",
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test with strictly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be strictly less than previous values.",
            "params": {
              "column": "y",
              "strictly": true,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be less than or equal to previous values.",
            "params": {
              "column": "x",
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be less than or equal to previous values. Values should be parsed as datetimes.",
            "params": {
              "column": "z",
              "parse_strings_as_datetimes": true,
              "strictly": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be strictly less than previous values. Values should be parsed as datetimes.",
            "params": {
              "column": "z",
              "parse_strings_as_datetimes": true,
              "strictly": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test empty column; should be vacuously true": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be less than or equal to previous values.",
            "params": {
              "column": "empty_column",
              "catch_exceptions": false,
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_not_match_regex": [
    {
      "Negative test, insufficient Mostly + one non-matching value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "^a",
              "mostly": 0.3,
              "mostly_pct": "30.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, exact mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "^a",
              "mostly": 0.2,
              "mostly_pct": "20.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, sufficient mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "^a",
              "mostly": 0.1,
              "mostly_pct": "10.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, one missing value and insufficent mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "b",
              "regex": "^a",
              "mostly": 0.5,
              "mostly_pct": "50.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, one missing value, no exceptions": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex.",
            "params": {
              "column": "b",
              "regex": "^c",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test. all missing values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex.",
            "params": {
              "column": "c",
              "regex": "^a",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test. all missing values, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "c",
              "regex": "^a",
              "mostly": 0.2,
              "mostly_pct": "20.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, Empty regex": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "values must not match a regular expression but none was specified.",
            "params": {
              "column": "b",
              "regex": "",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, match characters not at the beginning of string, exact mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match this regular expression: $regex, at least $mostly_pct % of the time.",
            "params": {
              "column": "a",
              "regex": "b",
              "mostly": 0.6,
              "mostly_pct": "60.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_not_match_regex_list": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match any of the following regular expressions: $v__0.",
            "params": {
              "column": "w",
              "regex_list": [
                "\\s+"
              ],
              "mostly": null,
              "v__0": "\\s+"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with multiple regexes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match any of the following regular expressions: $v__0 $v__1.",
            "params": {
              "column": "w",
              "regex_list": [
                "\\s+",
                "[a-zA-Z]"
              ],
              "mostly": null,
              "v__0": "\\s+",
              "v__1": "[a-zA-Z]"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match any of the following regular expressions: $v__0 $v__1.",
            "params": {
              "column": "w",
              "regex_list": [
                "[12]+",
                "[45]+"
              ],
              "mostly": null,
              "v__0": "[12]+",
              "v__1": "[45]+"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with more string-ish strings": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must not match any of the following regular expressions: $v__0 $v__1 $v__2.",
            "params": {
              "column": "x",
              "regex_list": [
                "opatomus",
                "ovat",
                "h.*t"
              ],
              "mostly": null,
              "v__0": "opatomus",
              "v__1": "ovat",
              "v__2": "h.*t"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_increasing": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be greater than or equal to previous values.",
            "params": {
              "column": "x",
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "2nd basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be greater than or equal to previous values.",
            "params": {
              "column": "y",
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with strictly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be strictly greater than previous values.",
            "params": {
              "column": "y",
              "strictly": true,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be greater than or equal to previous values.",
            "params": {
              "column": "w",
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be greater than or equal to previous values. Values should be parsed as datetimes.",
            "params": {
              "column": "zz",
              "parse_strings_as_datetimes": true,
              "strictly": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with interspersed nulls": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be greater than or equal to previous values.",
            "params": {
              "column": "a",
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with interspersed nulls": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be greater than or equal to previous values.",
            "params": {
              "column": "b",
              "strictly": null,
              "mostly": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_value_lengths_to_be_between": [
    {
      "Positive test, exact min and max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "column": "s1",
              "min_value": 4,
              "max_value": 5,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, matching min - max too small": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "column": "s2",
              "min_value": 4,
              "max_value": 8,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, matching max - min too large": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "column": "s2",
              "min_value": 5,
              "max_value": 9,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null min_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be less than $max_value characters long.",
            "params": {
              "column": "s1",
              "min_value": null,
              "max_value": 5,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null max_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be more than $min_value characters long.",
            "params": {
              "column": "s1",
              "min_value": 4,
              "max_value": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with max < min": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "column": "s1",
              "min_value": 1,
              "max_value": 0,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with missing value in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "column": "s3",
              "min_value": 4,
              "max_value": 9,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test error handling for non-int min_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "min_value": "quack",
              "max_value": 0,
              "catch_exceptions": true,
              "column": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test error handling for non-int max_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "min_value": 0,
              "max_value": "quack",
              "catch_exceptions": true,
              "column": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test error handling for both null max and min values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values may have any length.",
            "params": {
              "column": "s1",
              "min_value": null,
              "max_value": null,
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test error handling, values are integers": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must always be between $min_value and $max_value characters long.",
            "params": {
              "column": "s4",
              "min_value": 0,
              "max_value": 1,
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_match_strftime_format": [
    {
      "Simple positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "a",
              "strftime_format": "%Y-%m-%d",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test - wrong format": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "a",
              "strftime_format": "%Y%m%d",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test w/ nulls": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "b",
              "strftime_format": "%d/%m/%Y",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test w/ mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format, at least $mostly_pct % of the time.",
            "params": {
              "column": "c",
              "strftime_format": "%m-%d-%Y",
              "mostly": 0.75,
              "mostly_pct": "75.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Simple negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "c",
              "strftime_format": "%m-%d-%Y",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test - out of bounds value for month": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "a",
              "strftime_format": "%Y-%d-%m",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test - iso8601": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "f",
              "strftime_format": "%Y-%m-%dT%H:%M:%S",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test raising exception for wrong input data type": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "d",
              "strftime_format": "%m-%d-%Y",
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test raising exception for wrong format": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "a",
              "strftime_format": "%D",
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test - input already datetimes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following strftime format: $strftime_format.",
            "params": {
              "column": "e",
              "strftime_format": "%Y-%m-%d",
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_unique": [
    {
      "Basic positive test case": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "unique"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic Negative Case, all non-unique character values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "a"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Multi-type column, contains 2 and '2'. Suppressed for SQAlchemy ": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "c",
              "mostly": 0.3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive Case, using Mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "c",
              "mostly": 0.3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative Case, using Mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "c",
              "mostly": 0.4
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive case, multiple null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "n"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative case, non-unique numeric values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "c"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive case, all null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "null"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, Multiple duplicate values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be unique.",
            "params": {
              "column": "mult_dup"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_match_json_schema": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match a JSON Schema but none was specified.",
            "params": {
              "column": "x",
              "json_schema": {},
              "mostly": null
            },
            "styling": {
              "params": {
                "formatted_json": {
                  "classes": []
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with a more complex schema": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following JSON Schema: $formatted_json",
            "params": {
              "column": "x",
              "json_schema": {
                "properties": {
                  "a": {
                    "type": "integer"
                  }
                },
                "required": [
                  "a"
                ]
              },
              "mostly": null,
              "formatted_json": "<pre>{\n    \"properties\": {\n        \"a\": {\n            \"type\": \"integer\"\n        }\n    },\n    \"required\": [\n        \"a\"\n    ]\n}</pre>"
            },
            "styling": {
              "params": {
                "formatted_json": {
                  "classes": []
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must match the following JSON Schema: $formatted_json",
            "params": {
              "column": "x",
              "json_schema": {
                "properties": {
                  "a": {
                    "type": "integer"
                  }
                },
                "required": [
                  "b"
                ]
              },
              "mostly": null,
              "formatted_json": "<pre>{\n    \"properties\": {\n        \"a\": {\n            \"type\": \"integer\"\n        }\n    },\n    \"required\": [\n        \"b\"\n    ]\n}</pre>"
            },
            "styling": {
              "params": {
                "formatted_json": {
                  "classes": []
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_null": [
    {
      "Basic positive case, BASIC result format": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be null.",
            "params": {
              "column": "all_null",
              "result_format": "BASIC",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, no missing values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be null.",
            "params": {
              "column": "no_null",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be null, at least $mostly_pct % of the time.",
            "params": {
              "column": "three_null",
              "mostly": 0.75,
              "mostly_pct": "75.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative, mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be null, at least $mostly_pct % of the time.",
            "params": {
              "column": "three_null",
              "mostly": 0.8,
              "mostly_pct": "80.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive case with mostly and no unexpected values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be null, at least $mostly_pct % of the time.",
            "params": {
              "column": "all_null",
              "mostly": 0.9,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative case with 75% non-null values, no mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column values must be null.",
            "params": {
              "column": "one_null",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_values_to_be_in_type_list": [
    {
      "positive_test_pandas_integer_column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "type_list": [
                "int"
              ],
              "mostly": null,
              "v__0": "int"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_sqlalchemy_integer_column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "type_list": [
                "INTEGER"
              ],
              "mostly": null,
              "v__0": "INTEGER"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_spark_integer_column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "type_list": [
                "IntegerType"
              ],
              "mostly": null,
              "v__0": "IntegerType"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_pandas_float_values_are_not_strings": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "type_list": [
                "string"
              ],
              "mostly": null,
              "v__0": "string"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_sqlalchemy_float_values_are_not_TEXT": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "type_list": [
                "TEXT"
              ],
              "mostly": null,
              "v__0": "TEXT"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative_test_spark_float_values_are_not_StringType": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "type_list": [
                "StringType"
              ],
              "mostly": null,
              "v__0": "StringType"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_float_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "y",
              "type_list": [
                "float"
              ],
              "mostly": null,
              "v__0": "float"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_float_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "y",
              "type_list": [
                "DOUBLE_PRECISION",
                "FLOAT"
              ],
              "mostly": null,
              "v__0": "DOUBLE_PRECISION",
              "v__1": "FLOAT"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_float_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "y",
              "type_list": [
                "FloatType"
              ],
              "mostly": null,
              "v__0": "FloatType"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_string_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "z",
              "type_list": [
                "str"
              ],
              "mostly": null,
              "v__0": "str"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_TEXT_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "z",
              "type_list": [
                "TEXT",
                "VARCHAR"
              ],
              "mostly": null,
              "v__0": "TEXT",
              "v__1": "VARCHAR"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_StringType_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "z",
              "type_list": [
                "StringType"
              ],
              "mostly": null,
              "v__0": "StringType"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_boolean_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "b",
              "type_list": [
                "bool"
              ],
              "mostly": null,
              "v__0": "bool"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_boolean_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "b",
              "type_list": [
                "BOOLEAN"
              ],
              "mostly": null,
              "v__0": "BOOLEAN"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_boolean_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0.",
            "params": {
              "column": "b",
              "type_list": [
                "BooleanType"
              ],
              "mostly": null,
              "v__0": "BooleanType"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_string_and_int_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "s",
              "type_list": [
                "str",
                "int"
              ],
              "mostly": null,
              "v__0": "str",
              "v__1": "int"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_TEXT_and_INTEGER_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "s",
              "type_list": [
                "TEXT",
                "VARCHAR",
                "INTEGER"
              ],
              "mostly": null,
              "v__0": "TEXT",
              "v__1": "VARCHAR",
              "v__2": "INTEGER"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_StringType_and_IntegerType_values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "s",
              "type_list": [
                "StringType",
                "IntegerType"
              ],
              "mostly": null,
              "v__0": "StringType",
              "v__1": "IntegerType"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive_test_placeholder_expectation": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column value types must belong to a set which has not yet been defined",
            "params": {
              "column": "s",
              "type_list": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_stdev_to_be_between": [
    {
      "Basic Positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be between $min_value and $max_value.",
            "params": {
              "column": "dist1",
              "min_value": 0.5,
              "max_value": 1.5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation may have any numerical value.",
            "params": {
              "column": "dist1",
              "min_value": null,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, exact min and max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be between $min_value and $max_value.",
            "params": {
              "column": "dist1",
              "min_value": 1.1547005383792517,
              "max_value": 1.1547005383792517
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic Negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be between $min_value and $max_value.",
            "params": {
              "column": "dist1",
              "min_value": 0,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive, Zero stdev, exact min and max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be between $min_value and $max_value.",
            "params": {
              "column": "zero",
              "min_value": 0,
              "max_value": 0
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, null max, exact min": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be more than $min_value.",
            "params": {
              "column": "dist2",
              "min_value": 1,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, null min, exact max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be less than $max_value.",
            "params": {
              "column": "dist2",
              "min_value": null,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, null max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be more than $min_value.",
            "params": {
              "column": "dist2",
              "min_value": 1.5,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, null min": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be less than $max_value.",
            "params": {
              "column": "dist2",
              "min_value": null,
              "max_value": 0.5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive Test, missing value in column, COMPLETE result format": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column standard deviation must be between $min_value and $max_value.",
            "params": {
              "column": "missing",
              "min_value": 1,
              "max_value": 1,
              "result_format": "COMPLETE"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_distinct_values_to_be_in_set": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0 $v__1 $v__2 $v__3 $v__4 $v__5 $v__6 $v__7 $v__8.",
            "params": {
              "column": "dist1",
              "value_set": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9
              ],
              "v__0": 1,
              "v__1": 2,
              "v__2": 3,
              "v__3": 4,
              "v__4": 5,
              "v__5": 6,
              "v__6": 7,
              "v__7": 8,
              "v__8": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true - universal set": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to a set, but that set is not specified.",
            "params": {
              "column": "dist1",
              "value_set": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0 $v__1 $v__2 $v__3 $v__4.",
            "params": {
              "column": "dist2",
              "value_set": [
                1,
                2,
                3,
                4,
                5
              ],
              "v__0": 1,
              "v__1": 2,
              "v__2": 3,
              "v__3": 4,
              "v__4": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0 $v__1 $v__2 $v__3 $v__4 $v__5.",
            "params": {
              "column": "dist3",
              "value_set": [
                2,
                5,
                6,
                7,
                8,
                9
              ],
              "v__0": 2,
              "v__1": 5,
              "v__2": 6,
              "v__3": 7,
              "v__4": 8,
              "v__5": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "dist4",
              "value_set": [
                1,
                2,
                9
              ],
              "v__0": 1,
              "v__1": 2,
              "v__2": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test, no set intersection": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0.",
            "params": {
              "column": "dist1",
              "value_set": [
                9
              ],
              "v__0": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, some set intersection and extra": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0 $v__1 $v__2 $v__3 $v__4 $v__5 $v__6 $v__7.",
            "params": {
              "column": "dist1",
              "value_set": [
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9
              ],
              "v__0": 2,
              "v__1": 3,
              "v__2": 4,
              "v__3": 5,
              "v__4": 6,
              "v__5": 7,
              "v__6": 8,
              "v__7": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0 $v__1 $v__2 $v__3.",
            "params": {
              "column": "dist2",
              "value_set": [
                1,
                2,
                3,
                4
              ],
              "v__0": 1,
              "v__1": 2,
              "v__2": 3,
              "v__3": 4
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0 $v__1 $v__2 $v__3.",
            "params": {
              "column": "dist3",
              "value_set": [
                2,
                5,
                6,
                7
              ],
              "v__0": 2,
              "v__1": 5,
              "v__2": 6,
              "v__3": 7
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must belong to this set: $v__0.",
            "params": {
              "column": "dist4",
              "value_set": [
                1
              ],
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_most_common_value_to_be_in_set": [
    {
      "Negative test - tie for most common, with missing values and COMPLETE result format": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "value_set": [
                1
              ],
              "ties_okay": null,
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, tie for most common, full value_set, ties_okay = FALSE": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "x",
              "value_set": [
                1,
                2
              ],
              "ties_okay": null,
              "v__0": 1,
              "v__1": 2
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, tie for most common, ties_okay = TRUE": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0. Values outside this set that are as common (but not more common) are allowed.",
            "params": {
              "column": "x",
              "value_set": [
                1
              ],
              "ties_okay": true,
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, tie for most common (but test for last value), ties_okay = TRUE": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0. Values outside this set that are as common (but not more common) are allowed.",
            "params": {
              "column": "x",
              "value_set": [
                2
              ],
              "ties_okay": true,
              "v__0": 2
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, tie for most common, value set does not match, ties_okay = FALSE": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0.",
            "params": {
              "column": "x",
              "value_set": [
                3
              ],
              "ties_okay": null,
              "v__0": 3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, tie for most common, value set does not match, ties_okay = True": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0. Values outside this set that are as common (but not more common) are allowed.",
            "params": {
              "column": "x",
              "value_set": [
                3
              ],
              "ties_okay": true,
              "v__0": 3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, string values, value set contains more than actual mode list": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "y",
              "value_set": [
                "jello",
                "hello"
              ],
              "ties_okay": null,
              "v__0": "jello",
              "v__1": "hello"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, string values, value set contains more than actual mode list": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column most common value must belong to this set: $v__0 $v__1.",
            "params": {
              "column": "y",
              "value_set": [
                "mello",
                "hello"
              ],
              "ties_okay": null,
              "v__0": "mello",
              "v__1": "hello"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_quantile_values_to_be_between": [
    {
      "Basic positive test: extremes": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_quantile_values_to_be_between",
              "kwargs": {
                "column": "norm_0_1",
                "quantile_ranges": {
                  "quantiles": [
                    0.0,
                    1.0
                  ],
                  "value_ranges": [
                    [
                      null,
                      -3
                    ],
                    [
                      3,
                      null
                    ]
                  ]
                }
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic positive test: normal quartiles": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_quantile_values_to_be_between",
              "kwargs": {
                "column": "norm_0_1",
                "quantile_ranges": {
                  "quantiles": [
                    0.0,
                    0.25,
                    0.5,
                    0.75,
                    1.0
                  ],
                  "value_ranges": [
                    [
                      null,
                      -3
                    ],
                    [
                      -0.8,
                      -0.6
                    ],
                    [
                      -0.1,
                      0.1
                    ],
                    [
                      0.6,
                      0.8
                    ],
                    [
                      3,
                      null
                    ]
                  ]
                }
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic positive test: uneven spacing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_quantile_values_to_be_between",
              "kwargs": {
                "column": "norm_0_1",
                "quantile_ranges": {
                  "quantiles": [
                    0.0,
                    0.05,
                    0.25,
                    0.5,
                    0.75,
                    0.95,
                    1.0
                  ],
                  "value_ranges": [
                    [
                      null,
                      -3
                    ],
                    [
                      -2,
                      -1.5
                    ],
                    [
                      -0.8,
                      -0.6
                    ],
                    [
                      -0.1,
                      0.1
                    ],
                    [
                      0.6,
                      0.8
                    ],
                    [
                      1.5,
                      2
                    ],
                    [
                      3,
                      null
                    ]
                  ]
                }
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test: normal quartiles, wrong distribution": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_quantile_values_to_be_between",
              "kwargs": {
                "column": "norm_1_1",
                "quantile_ranges": {
                  "quantiles": [
                    0.0,
                    0.25,
                    0.5,
                    0.75,
                    1.0
                  ],
                  "value_ranges": [
                    [
                      null,
                      -3
                    ],
                    [
                      -0.8,
                      -0.6
                    ],
                    [
                      -0.1,
                      0.1
                    ],
                    [
                      0.6,
                      0.8
                    ],
                    [
                      3,
                      null
                    ]
                  ]
                }
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_max_to_be_between": [
    {
      "Basic positive test case": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be between $min_value and $max_value.",
            "params": {
              "column": "w",
              "result_format": "BASIC",
              "min_value": 4,
              "max_value": 6,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test case": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be less than $max_value.",
            "params": {
              "column": "w",
              "result_format": "BASIC",
              "min_value": null,
              "max_value": 4,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test case with result_format=SUMMARY. Also verifies that max_value is inclusive": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be between $min_value and $max_value.",
            "params": {
              "column": "w",
              "result_format": "SUMMARY",
              "min_value": 0,
              "max_value": 5,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test case with only a lower bound, and a missing value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be more than $min_value.",
            "params": {
              "column": "x",
              "min_value": 3,
              "max_value": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case with only a lower bound": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be more than $min_value.",
            "params": {
              "column": "w",
              "min_value": 50,
              "max_value": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test on a series containing dates, with an output_strftime_format value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be between $min_value and $max_value. Values should be parsed as datetimes.",
            "params": {
              "column": "zz",
              "min_value": "2/1/2016",
              "max_value": "3/1/2016",
              "parse_strings_as_datetimes": true,
              "output_strftime_format": "%m/%d/%Y"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test on a date-like series containing strings": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be between $min_value and $max_value.",
            "params": {
              "column": "zzz",
              "min_value": "2/1/2016",
              "max_value": "3/1/2016",
              "parse_strings_as_datetimes": false
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test on strings": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be between $min_value and $max_value.",
            "params": {
              "column": "z",
              "min_value": "d",
              "max_value": "f",
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test empty column; should be false (no observed value with which to compare)": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column maximum value must be between $min_value and $max_value.",
            "params": {
              "column": "empty_column",
              "min_value": 0,
              "max_value": 0,
              "catch_exceptions": false,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_mean_to_be_between": [
    {
      "simple mean: positive range": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "min_value": 2,
              "max_value": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "simple mean: negative range": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "min_value": 1,
              "max_value": 2
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "simple mean: positive exact match": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "y",
              "min_value": 5,
              "max_value": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "simple mean: negative exact match": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "y",
              "min_value": 4,
              "max_value": 4
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "simple mean: positive exact match": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "z",
              "min_value": 5,
              "max_value": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "simple mean: negative range match": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "z",
              "min_value": 13,
              "max_value": 14
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "simple mean: includes null": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "n",
              "min_value": 0,
              "max_value": 0
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true: missing min and max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean may have any numerical value.",
            "params": {
              "column": "x",
              "min_value": null,
              "max_value": null,
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "type mismatch: null observed_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "s",
              "min_value": 0,
              "max_value": 0,
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "coerced types: true/false values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "b",
              "min_value": 0,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "coerced types: true/false and null": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "x",
              "min_value": 0,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "TypeError: catch exceptions. Non-number min-value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be more than $min_value.",
            "params": {
              "column": "x",
              "min_value": "s",
              "catch_exceptions": true,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "TypeError: catch exceptions. Non-number max-value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be less than $max_value.",
            "params": {
              "column": "x",
              "max_value": "s",
              "catch_exceptions": true,
              "min_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test empty column; should be false (no observed value with which to compare)": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column mean must be between $min_value and $max_value.",
            "params": {
              "column": "empty_column",
              "min_value": 0,
              "max_value": 1,
              "catch_exceptions": false
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_distinct_values_to_equal_set": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0 $v__1 $v__2 $v__3 $v__4 $v__5 $v__6 $v__7.",
            "params": {
              "column": "dist1",
              "value_set": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 2,
              "v__2": 3,
              "v__3": 4,
              "v__4": 5,
              "v__5": 6,
              "v__6": 7,
              "v__7": 8
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0 $v__1 $v__2 $v__3 $v__4.",
            "params": {
              "column": "dist2",
              "value_set": [
                1,
                2,
                3,
                4,
                5
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 2,
              "v__2": 3,
              "v__3": 4,
              "v__4": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0 $v__1 $v__2 $v__3 $v__4.",
            "params": {
              "column": "dist3",
              "value_set": [
                2,
                5,
                6,
                7,
                8
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 2,
              "v__1": 5,
              "v__2": 6,
              "v__3": 7,
              "v__4": 8
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0 $v__1.",
            "params": {
              "column": "dist4",
              "value_set": [
                1,
                2
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 2
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test, set contained": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0.",
            "params": {
              "column": "dist1",
              "value_set": [
                1
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, some set intersection": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0 $v__1.",
            "params": {
              "column": "dist1",
              "value_set": [
                1,
                9
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0.",
            "params": {
              "column": "dist2",
              "value_set": [
                1
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0.",
            "params": {
              "column": "dist3",
              "value_set": [
                2
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 2
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must match this set: $v__0.",
            "params": {
              "column": "dist4",
              "value_set": [
                1
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_sum_to_be_between": [
    {
      "Basic positive test case": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column sum must be between $min_value and $max_value.",
            "params": {
              "column": "w",
              "result_format": "BASIC",
              "min_value": 30,
              "max_value": 30
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test case": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column sum must be between $min_value and $max_value.",
            "params": {
              "column": "w",
              "result_format": "BASIC",
              "min_value": 40,
              "max_value": 50
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test case with result_format=SUMMARY": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column sum must be between $min_value and $max_value.",
            "params": {
              "column": "w",
              "result_format": "SUMMARY",
              "min_value": 20,
              "max_value": 40
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test case with only a lower bound, and a missing value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column sum must be more than $min_value.",
            "params": {
              "column": "x",
              "min_value": 30,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case with only a lower bound": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column sum must be more than $min_value.",
            "params": {
              "column": "w",
              "min_value": 50,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case with only a max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column sum must be less than $max_value.",
            "params": {
              "column": "y",
              "max_value": 20,
              "min_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Raise ValueError with both max and min are missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column sum may have any numerical value.",
            "params": {
              "column": "y",
              "catch_exceptions": true,
              "min_value": null,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_unique_value_count_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have between $min_value and $max_value unique values.",
            "params": {
              "column": "dist1",
              "min_value": 0,
              "max_value": 10,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have between $min_value and $max_value unique values.",
            "params": {
              "column": "dist2",
              "min_value": 0,
              "max_value": 10,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Null min; duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have fewer than $max_value unique values.",
            "params": {
              "column": "dist3",
              "min_value": null,
              "max_value": 10,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Null max; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have more than $min_value unique values.",
            "params": {
              "column": "dist4",
              "min_value": 2,
              "max_value": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true: null min and max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column may have any number of unique values.",
            "params": {
              "column": "dist1",
              "min_value": null,
              "max_value": null,
              "catch_exceptions": true,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_median_to_be_between": [
    {
      "Positive test, min == max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be between $min_value and $max_value.",
            "params": {
              "column": "a",
              "min_value": 2.5,
              "max_value": 2.5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, null min": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be less than $max_value.",
            "params": {
              "column": "a",
              "min_value": null,
              "max_value": 3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test, null max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be more than $min_value.",
            "params": {
              "column": "a",
              "min_value": 2,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, min == max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be between $min_value and $max_value.",
            "params": {
              "column": "b",
              "min_value": 5,
              "max_value": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, null min": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be less than $max_value.",
            "params": {
              "column": "b",
              "min_value": null,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, null max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be more than $min_value.",
            "params": {
              "column": "b",
              "min_value": 2.5,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive Test, missing value in column, exact min and max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be between $min_value and $max_value.",
            "params": {
              "column": "c",
              "min_value": 6,
              "max_value": 6,
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative Test, missing value in column, COMPLETE result format": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be between $min_value and $max_value.",
            "params": {
              "column": "c",
              "min_value": 7,
              "max_value": 7,
              "result_format": "COMPLETE"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true: both min and max null": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median may have any numerical value.",
            "params": {
              "column": "c",
              "min_value": null,
              "max_value": null,
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test empty column; should be false (no observed value with which to compare)": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column median must be between $min_value and $max_value.",
            "params": {
              "column": "empty_column",
              "min_value": 0,
              "max_value": 0,
              "catch_exceptions": false
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_min_to_be_between": [
    {
      "Basic positive test case": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be between $min_value and $max_value.",
            "params": {
              "column": "w",
              "result_format": "BASIC",
              "min_value": -10,
              "max_value": 5,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case, with max_value=None": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be more than $min_value.",
            "params": {
              "column": "w",
              "result_format": "BASIC",
              "min_value": 4,
              "max_value": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test case with result_format=SUMMARY. Also verifies that max_value is inclusive": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be between $min_value and $max_value.",
            "params": {
              "column": "w",
              "result_format": "SUMMARY",
              "min_value": 0,
              "max_value": 1,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test case with only a lower bound, and a missing value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be more than $min_value.",
            "params": {
              "column": "x",
              "min_value": 1,
              "max_value": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case with only a lower bound": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be more than $min_value.",
            "params": {
              "column": "w",
              "min_value": 50,
              "max_value": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test on a series with mostly nulls": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be between $min_value and $max_value.",
            "params": {
              "column": "a",
              "min_value": 1,
              "max_value": 2,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test on a series containing dates": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be between $min_value and $max_value. Values should be parsed as datetimes.",
            "params": {
              "column": "zz",
              "min_value": "2/1/2016",
              "max_value": "3/1/2016",
              "parse_strings_as_datetimes": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test on a series containing dates, with an output_strftime_format value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be between $min_value and $max_value. Values should be parsed as datetimes.",
            "params": {
              "column": "zz",
              "min_value": "2/1/2016",
              "max_value": "3/1/2016",
              "parse_strings_as_datetimes": true,
              "output_strftime_format": "%m/%d/%Y"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test case with only a max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be less than $max_value.",
            "params": {
              "column": "y",
              "max_value": 0,
              "min_value": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Raise ValueError with both max and min are missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value may have any numerical value.",
            "params": {
              "column": "y",
              "catch_exceptions": true,
              "min_value": null,
              "max_value": null,
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test on strings": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column minimum value must be between $min_value and $max_value.",
            "params": {
              "column": "z",
              "min_value": "a",
              "max_value": "b",
              "parse_strings_as_datetimes": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_proportion_of_unique_values_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have between $min_value and $max_value% unique values.",
            "params": {
              "column": "dist1",
              "min_value": 0.5,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have between $min_value and $max_value% unique values.",
            "params": {
              "column": "dist2",
              "min_value": 0.5,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have between $min_value and $max_value% unique values.",
            "params": {
              "column": "dist3",
              "min_value": 0.6,
              "max_value": 0.7
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Null max; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column must have at least $min_value% unique values.",
            "params": {
              "column": "dist4",
              "min_value": 0.3,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true: null min and max": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column may have any percentage of unique values.",
            "params": {
              "column": "dist1",
              "min_value": null,
              "max_value": null,
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_distinct_values_to_contain_set": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "dist1",
              "value_set": [
                1,
                2,
                3
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 2,
              "v__2": 3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0 $v__1 $v__2.",
            "params": {
              "column": "dist2",
              "value_set": [
                1,
                2,
                3
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 2,
              "v__2": 3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0 $v__1.",
            "params": {
              "column": "dist3",
              "value_set": [
                2,
                5
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 2,
              "v__1": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0.",
            "params": {
              "column": "dist4",
              "value_set": [
                1
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test, no set intersection": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0.",
            "params": {
              "column": "dist1",
              "value_set": [
                9
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test, some set intersection": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0 $v__1.",
            "params": {
              "column": "dist1",
              "value_set": [
                1,
                9
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 1,
              "v__1": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with null values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0.",
            "params": {
              "column": "dist2",
              "value_set": [
                9
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0.",
            "params": {
              "column": "dist3",
              "value_set": [
                9
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column distinct values must contain this set: $v__0.",
            "params": {
              "column": "dist4",
              "value_set": [
                9
              ],
              "parse_strings_as_datetimes": null,
              "v__0": 9
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than": [
    {
      "Positive standard norm distribution": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "norm_std",
                "result_format": "BASIC",
                "params": {
                  "mean": 0,
                  "std_dev": 1
                },
                "distribution": "norm",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative standard norm distribution": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "norm_std",
                "result_format": "BASIC",
                "params": {
                  "mean": 1,
                  "std_dev": 1
                },
                "distribution": "norm",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive beta distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "beta",
                "result_format": "BASIC",
                "params": {
                  "alpha": 0.5,
                  "beta": 10,
                  "loc": 5,
                  "scale": 11
                },
                "distribution": "beta",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive beta distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "beta",
                "result_format": "BASIC",
                "params": [
                  0.5,
                  10,
                  5,
                  11
                ],
                "distribution": "beta",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative beta distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "beta",
                "result_format": "BASIC",
                "params": {
                  "alpha": 1,
                  "beta": 11,
                  "loc": 5,
                  "scale": 11
                },
                "distribution": "beta",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative beta distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "beta",
                "result_format": "BASIC",
                "params": [
                  1,
                  11,
                  5,
                  11
                ],
                "distribution": "beta",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive gamma distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "gamma",
                "result_format": "BASIC",
                "params": {
                  "alpha": 2,
                  "loc": 20,
                  "scale": 3
                },
                "distribution": "gamma",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive gamma distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "gamma",
                "result_format": "BASIC",
                "params": [
                  2,
                  20,
                  3
                ],
                "distribution": "gamma",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative gamma distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "gamma",
                "result_format": "BASIC",
                "params": {
                  "alpha": 3,
                  "loc": 20,
                  "scale": 3
                },
                "distribution": "gamma",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative gamma distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "gamma",
                "result_format": "BASIC",
                "params": [
                  3,
                  20,
                  3
                ],
                "distribution": "gamma",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive uniform distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "uniform",
                "result_format": "BASIC",
                "params": {
                  "min": -5,
                  "max": 11
                },
                "distribution": "uniform",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive uniform distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "uniform",
                "result_format": "BASIC",
                "params": [
                  -5,
                  11
                ],
                "distribution": "uniform",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative uniform distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "uniform",
                "result_format": "BASIC",
                "params": {
                  "min": -4,
                  "max": 12
                },
                "distribution": "uniform",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative uniform distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "uniform",
                "result_format": "BASIC",
                "params": [
                  -4,
                  12
                ],
                "distribution": "uniform",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive chi2, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "chi2",
                "result_format": "BASIC",
                "params": {
                  "df": 30,
                  "loc": 3,
                  "scale": 5
                },
                "distribution": "chi2",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive chi2, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "chi2",
                "result_format": "COMPLETE",
                "params": [
                  30,
                  3,
                  5
                ],
                "distribution": "chi2",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative chi2, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "chi2",
                "result_format": "BASIC",
                "params": {
                  "df": 33,
                  "loc": 3,
                  "scale": 5
                },
                "distribution": "chi2",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative chi2, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "chi2",
                "result_format": "BASIC",
                "params": [
                  33,
                  3,
                  5
                ],
                "distribution": "chi2",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive expon distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "exponential",
                "result_format": "BASIC",
                "params": {
                  "loc": 4.2,
                  "scale": 10
                },
                "distribution": "expon",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive expon distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "exponential",
                "result_format": "BASIC",
                "params": [
                  4.2,
                  10
                ],
                "distribution": "expon",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative expon distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "exponential",
                "result_format": "BASIC",
                "params": {
                  "loc": 5,
                  "scale": 10
                },
                "distribution": "expon",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative expon distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "exponential",
                "result_format": "BASIC",
                "params": [
                  5,
                  10
                ],
                "distribution": "expon",
                "p_value": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_kl_divergence_to_be_less_than": [
    {
      "discrete - baseline (categorical_fixed partition)": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "categorical_fixed",
              "partition_object": {
                "weights": [
                  0.54,
                  0.32,
                  0.14
                ],
                "values": [
                  "A",
                  "B",
                  "C"
                ]
              },
              "threshold": 0.1,
              "sparklines_histogram": "\u2588\u2584\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "discrete - (categorical_fixed_alternate partition)": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "categorical_fixed",
              "partition_object": {
                "weights": [
                  0.3333333333333333,
                  0.3333333333333333,
                  0.3333333333333333
                ],
                "values": [
                  "A",
                  "B",
                  "C"
                ]
              },
              "threshold": 0.1,
              "sparklines_histogram": "\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "internal holdout with categorical partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "categorical_fixed",
              "partition_object": {
                "weights": [
                  0.54,
                  0.32,
                  0.14
                ],
                "values": [
                  "A",
                  "B",
                  "C"
                ]
              },
              "threshold": 0.1,
              "internal_weight_holdout": 0.01,
              "catch_exceptions": true,
              "sparklines_histogram": "\u2588\u2584\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "holdout - 0.1": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "a",
              "partition_object": {
                "values": [
                  "a",
                  "b"
                ],
                "weights": [
                  0.6,
                  0.4
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.1,
              "sparklines_histogram": "\u2588\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "holdout - 0.05": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "a",
              "partition_object": {
                "values": [
                  "a",
                  "b"
                ],
                "weights": [
                  0.6,
                  0.4
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.05,
              "sparklines_histogram": "\u2588\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "missing vals no holdout": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "a",
              "partition_object": {
                "values": [
                  "a",
                  "b"
                ],
                "weights": [
                  0.6,
                  0.4
                ]
              },
              "threshold": 0.1,
              "sparklines_histogram": "\u2588\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "norm_0_1_auto - explicit infinite endpoints": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -Infinity,
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721,
                  Infinity
                ],
                "weights": [
                  0.005,
                  0.00099,
                  0.0,
                  0.00297,
                  0.00297,
                  0.010889999999999999,
                  0.01287,
                  0.028710000000000003,
                  0.04554,
                  0.052469999999999996,
                  0.0693,
                  0.10196999999999999,
                  0.08613,
                  0.09207,
                  0.1089,
                  0.08811,
                  0.08514,
                  0.06336,
                  0.0396,
                  0.03762,
                  0.02277,
                  0.01683,
                  0.010889999999999999,
                  0.00594,
                  0.00198,
                  0.00099,
                  0.0,
                  0.0,
                  0.00099,
                  0.005
                ]
              },
              "threshold": 0.5,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "norm_0_1_auto_inf partition - test tail weights": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721
                ],
                "weights": [
                  0.00099,
                  0.0,
                  0.00297,
                  0.00297,
                  0.010889999999999999,
                  0.01287,
                  0.028710000000000003,
                  0.04554,
                  0.052469999999999996,
                  0.0693,
                  0.10196999999999999,
                  0.08613,
                  0.09207,
                  0.1089,
                  0.08811,
                  0.08514,
                  0.06336,
                  0.0396,
                  0.03762,
                  0.02277,
                  0.01683,
                  0.010889999999999999,
                  0.00594,
                  0.00198,
                  0.00099,
                  0.0,
                  0.0,
                  0.00099
                ],
                "tail_weights": [
                  0.005,
                  0.005
                ]
              },
              "threshold": 0.5,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "norm_0_1_auto_inf partition - should fail with no holdout": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -Infinity,
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721,
                  Infinity
                ],
                "weights": [
                  0.005,
                  0.00099,
                  0.0,
                  0.00297,
                  0.00297,
                  0.010889999999999999,
                  0.01287,
                  0.028710000000000003,
                  0.04554,
                  0.052469999999999996,
                  0.0693,
                  0.10196999999999999,
                  0.08613,
                  0.09207,
                  0.1089,
                  0.08811,
                  0.08514,
                  0.06336,
                  0.0396,
                  0.03762,
                  0.02277,
                  0.01683,
                  0.010889999999999999,
                  0.00594,
                  0.00198,
                  0.00099,
                  0.0,
                  0.0,
                  0.00099,
                  0.005
                ]
              },
              "threshold": 0.5,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "norm_0_1_auto_inf partition - null threshold should always succeed": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -Infinity,
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721,
                  Infinity
                ],
                "weights": [
                  0.005,
                  0.00099,
                  0.0,
                  0.00297,
                  0.00297,
                  0.010889999999999999,
                  0.01287,
                  0.028710000000000003,
                  0.04554,
                  0.052469999999999996,
                  0.0693,
                  0.10196999999999999,
                  0.08613,
                  0.09207,
                  0.1089,
                  0.08811,
                  0.08514,
                  0.06336,
                  0.0396,
                  0.03762,
                  0.02277,
                  0.01683,
                  0.010889999999999999,
                  0.00594,
                  0.00198,
                  0.00099,
                  0.0,
                  0.0,
                  0.00099,
                  0.005
                ]
              },
              "threshold": null,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "norm_0_1_auto_inf partition - null threshold *and* partition object supports profiling": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to a given distribution must be lower than a             provided threshold but no distribution was specified.",
            "params": {
              "column": "norm_0_1",
              "partition_object": null,
              "threshold": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "norm_0_1_auto_inf partition - tail weights - should fail with no internal holdout": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721
                ],
                "weights": [
                  0.00099,
                  0.0,
                  0.00297,
                  0.00297,
                  0.010889999999999999,
                  0.01287,
                  0.028710000000000003,
                  0.04554,
                  0.052469999999999996,
                  0.0693,
                  0.10196999999999999,
                  0.08613,
                  0.09207,
                  0.1089,
                  0.08811,
                  0.08514,
                  0.06336,
                  0.0396,
                  0.03762,
                  0.02277,
                  0.01683,
                  0.010889999999999999,
                  0.00594,
                  0.00198,
                  0.00099,
                  0.0,
                  0.0,
                  0.00099
                ],
                "tail_weights": [
                  0.005,
                  0.005
                ]
              },
              "threshold": 0.5,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive - norm_0_1_auto partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721
                ],
                "weights": [
                  0.001,
                  0.0,
                  0.003,
                  0.003,
                  0.011,
                  0.013,
                  0.029,
                  0.046,
                  0.053,
                  0.07,
                  0.103,
                  0.087,
                  0.093,
                  0.11,
                  0.089,
                  0.086,
                  0.064,
                  0.04,
                  0.038,
                  0.023,
                  0.017,
                  0.011,
                  0.006,
                  0.002,
                  0.001,
                  0.0,
                  0.0,
                  0.001
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive - norm_0_1_uniform partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.531867456996693,
                  -1.822467573924314,
                  -1.1130676908519344,
                  -0.40366780777955524,
                  0.30573207529282387,
                  1.0151319583652039,
                  1.724531841437583,
                  2.433931724509962,
                  3.143331607582341,
                  3.852731490654721
                ],
                "weights": [
                  0.004,
                  0.022,
                  0.096,
                  0.228,
                  0.272,
                  0.226,
                  0.104,
                  0.038,
                  0.009,
                  0.001
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2583\u2587\u2588\u2587\u2584\u2582\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive - norm_0_1_ntile partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -1.2447631108514743,
                  -0.8034814724483254,
                  -0.5233580988912199,
                  -0.24068966203741293,
                  0.025300612234888248,
                  0.24868582526450372,
                  0.5139818158561709,
                  0.8135111522744447,
                  1.3056452018671392,
                  3.852731490654721
                ],
                "weights": [
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive - norm_0_1_kde partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_0_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -1.2447631108514743,
                  -0.8034814724483254,
                  -0.5233580988912199,
                  -0.24068966203741293,
                  0.025300612234888248,
                  0.24868582526450372,
                  0.5139818158561709,
                  0.8135111522744447,
                  1.3056452018671392,
                  3.852731490654721
                ],
                "weights": [
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.3,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_auto partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_1_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721
                ],
                "weights": [
                  0.001,
                  0.0,
                  0.003,
                  0.003,
                  0.011,
                  0.013,
                  0.029,
                  0.046,
                  0.053,
                  0.07,
                  0.103,
                  0.087,
                  0.093,
                  0.11,
                  0.089,
                  0.086,
                  0.064,
                  0.04,
                  0.038,
                  0.023,
                  0.017,
                  0.011,
                  0.006,
                  0.002,
                  0.001,
                  0.0,
                  0.0,
                  0.001
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_uniform partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_1_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.531867456996693,
                  -1.822467573924314,
                  -1.1130676908519344,
                  -0.40366780777955524,
                  0.30573207529282387,
                  1.0151319583652039,
                  1.724531841437583,
                  2.433931724509962,
                  3.143331607582341,
                  3.852731490654721
                ],
                "weights": [
                  0.004,
                  0.022,
                  0.096,
                  0.228,
                  0.272,
                  0.226,
                  0.104,
                  0.038,
                  0.009,
                  0.001
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2583\u2587\u2588\u2587\u2584\u2582\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_ntile partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_1_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -1.2447631108514743,
                  -0.8034814724483254,
                  -0.5233580988912199,
                  -0.24068966203741293,
                  0.025300612234888248,
                  0.24868582526450372,
                  0.5139818158561709,
                  0.8135111522744447,
                  1.3056452018671392,
                  3.852731490654721
                ],
                "weights": [
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_kde partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "norm_1_1",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -1.2447631108514743,
                  -0.8034814724483254,
                  -0.5233580988912199,
                  -0.24068966203741293,
                  0.025300612234888248,
                  0.24868582526450372,
                  0.5139818158561709,
                  0.8135111522744447,
                  1.3056452018671392,
                  3.852731490654721
                ],
                "weights": [
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.3,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "positive - bimodal_auto partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "bimodal",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -1.6805850631140362,
                  -0.11990278615899985,
                  1.4407794907960363,
                  3.001461767751073,
                  4.562144044706109,
                  6.122826321661146,
                  7.683508598616182,
                  9.244190875571219,
                  10.804873152526255,
                  12.365555429481292,
                  13.926237706436327
                ],
                "weights": [
                  0.018,
                  0.204,
                  0.235,
                  0.041,
                  0.002,
                  0.0,
                  0.004,
                  0.105,
                  0.285,
                  0.099,
                  0.007
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2586\u2587\u2582\u2581\u2581\u2581\u2583\u2588\u2583\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative - bimodal column - norm_0_1_auto partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "bimodal",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.987910238971794,
                  -2.734553137874516,
                  -2.481196036777238,
                  -2.2278389356799595,
                  -1.974481834582681,
                  -1.7211247334854027,
                  -1.4677676323881244,
                  -1.214410531290846,
                  -0.9610534301935676,
                  -0.7076963290962892,
                  -0.45433922799901083,
                  -0.2009821269017329,
                  0.05237497419554549,
                  0.30573207529282387,
                  0.5590891763901022,
                  0.8124462774873806,
                  1.065803378584659,
                  1.3191604796819374,
                  1.5725175807792158,
                  1.8258746818764942,
                  2.0792317829737725,
                  2.332588884071051,
                  2.5859459851683293,
                  2.839303086265607,
                  3.092660187362885,
                  3.3460172884601636,
                  3.599374389557442,
                  3.852731490654721
                ],
                "weights": [
                  0.001,
                  0.0,
                  0.003,
                  0.003,
                  0.011,
                  0.013,
                  0.029,
                  0.046,
                  0.053,
                  0.07,
                  0.103,
                  0.087,
                  0.093,
                  0.11,
                  0.089,
                  0.086,
                  0.064,
                  0.04,
                  0.038,
                  0.023,
                  0.017,
                  0.011,
                  0.006,
                  0.002,
                  0.001,
                  0.0,
                  0.0,
                  0.001
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581\u2581\u2581\u2583\u2584\u2584\u2586\u2588\u2587\u2587\u2588\u2587\u2587\u2585\u2583\u2583\u2582\u2582\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "negative - bimodal column - norm_0_1_uniform partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "bimodal",
              "partition_object": {
                "bins": [
                  -3.2412673400690726,
                  -2.531867456996693,
                  -1.822467573924314,
                  -1.1130676908519344,
                  -0.40366780777955524,
                  0.30573207529282387,
                  1.0151319583652039,
                  1.724531841437583,
                  2.433931724509962,
                  3.143331607582341,
                  3.852731490654721
                ],
                "weights": [
                  0.004,
                  0.022,
                  0.096,
                  0.228,
                  0.272,
                  0.226,
                  0.104,
                  0.038,
                  0.009,
                  0.001
                ]
              },
              "threshold": 0.1,
              "tail_weight_holdout": 0.01,
              "internal_weight_holdout": 0.01,
              "sparklines_histogram": "\u2581\u2581\u2583\u2587\u2588\u2587\u2584\u2582\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - lower inf bound": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "bins": [
                  -Infinity,
                  0,
                  1,
                  2,
                  3
                ],
                "weights": [
                  0.25,
                  0.25,
                  0.25,
                  0.25
                ]
              },
              "threshold": 0.0,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - lower inf bound tail_weights": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "bins": [
                  0,
                  1,
                  2,
                  3
                ],
                "weights": [
                  0.25,
                  0.25,
                  0.25
                ],
                "tail_weights": [
                  0.25,
                  0
                ]
              },
              "threshold": 0.0,
              "sparklines_histogram": "\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - upper inf bound": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "y",
              "partition_object": {
                "bins": [
                  0,
                  1,
                  2,
                  3,
                  Infinity
                ],
                "weights": [
                  0.25,
                  0.25,
                  0.25,
                  0.25
                ]
              },
              "threshold": 0.5,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - upper inf bound tail_weights": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "y",
              "partition_object": {
                "bins": [
                  0,
                  1,
                  2,
                  3
                ],
                "weights": [
                  0.25,
                  0.25,
                  0.25
                ],
                "tail_weights": [
                  0,
                  0.25
                ]
              },
              "threshold": 0.5,
              "sparklines_histogram": "\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - lower and upper inf bounds": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "z",
              "partition_object": {
                "bins": [
                  -Infinity,
                  0,
                  1,
                  2,
                  3,
                  Infinity
                ],
                "weights": [
                  0.1,
                  0.2,
                  0.4,
                  0.2,
                  0.1
                ]
              },
              "threshold": 0.5,
              "sparklines_histogram": "\u2581\u2583\u2588\u2583\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - lower and upper inf bounds": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "z",
              "partition_object": {
                "bins": [
                  0,
                  1,
                  2,
                  3
                ],
                "weights": [
                  0.2,
                  0.4,
                  0.2
                ],
                "tail_weights": [
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.5,
              "sparklines_histogram": "\u2581\u2588\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "tail weight holdout is not defined for partitions already extending to inifinity": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "z",
              "partition_object": {
                "bins": [
                  -Infinity,
                  0,
                  1,
                  2,
                  3,
                  Infinity
                ],
                "weights": [
                  0.1,
                  0.2,
                  0.4,
                  0.2,
                  0.1
                ]
              },
              "threshold": 0.5,
              "tail_weight_holdout": 0.1,
              "catch_exceptions": true,
              "sparklines_histogram": "\u2581\u2583\u2588\u2583\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "tail weight holdout is not defined for partitions already extending to inifinity - tail_weight": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "z",
              "partition_object": {
                "bins": [
                  0,
                  1,
                  2,
                  3
                ],
                "weights": [
                  0.2,
                  0.4,
                  0.2
                ],
                "tail_weights": [
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.5,
              "tail_weight_holdout": 0.1,
              "catch_exceptions": true,
              "sparklines_histogram": "\u2581\u2588\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "empty partition": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to a given distribution must be lower than a             provided threshold but no distribution was specified.",
            "params": {
              "column": "z",
              "partition_object": {},
              "threshold": 0.5,
              "tail_weight_holdout": 0.1,
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "too-big tail_weight": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "z",
              "partition_object": {
                "bins": [
                  0,
                  1,
                  2,
                  3
                ],
                "weights": [
                  0.2,
                  0.4,
                  0.2
                ],
                "tail_weights": [
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.5,
              "tail_weight_holdout": 2,
              "catch_exceptions": true,
              "sparklines_histogram": "\u2581\u2588\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "too-big internal_weight": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "z",
              "partition_object": {
                "bins": [
                  0,
                  1,
                  2,
                  3
                ],
                "weights": [
                  0.2,
                  0.4,
                  0.2
                ],
                "tail_weights": [
                  0.1,
                  0.1
                ]
              },
              "threshold": 0.5,
              "internal_weight_holdout": 2,
              "catch_exceptions": true,
              "sparklines_histogram": "\u2581\u2588\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - undefined (infinite) kl divergence": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x1",
              "partition_object": {
                "weights": [
                  0.5,
                  0.5
                ],
                "values": [
                  "a",
                  "b"
                ]
              },
              "threshold": 0.05,
              "sparklines_histogram": "\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - undefined (infinite) kl divergence": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x2",
              "partition_object": {
                "weights": [
                  0.1,
                  0.4,
                  0,
                  0,
                  0.4,
                  0.1
                ],
                "bins": [
                  -2,
                  -1.5,
                  -1,
                  0,
                  1,
                  1.5,
                  2
                ]
              },
              "threshold": 0.05,
              "sparklines_histogram": "\u2583\u2588\u2581\u2581\u2588\u2583"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - undefined (infinite) kl divergence - bins do not cover all data": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x2",
              "partition_object": {
                "weights": [
                  0.25,
                  0.25,
                  0.25,
                  0.25
                ],
                "bins": [
                  -1,
                  0,
                  1,
                  1.5,
                  2
                ]
              },
              "threshold": 0.05,
              "sparklines_histogram": "\u2581\u2581\u2581\u2581"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - return partitions should have tail_weights": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.3,
                  0.15,
                  0.05,
                  0.05,
                  0.2,
                  0.25
                ],
                "bins": [
                  -Infinity,
                  -2,
                  -1,
                  0,
                  1,
                  2,
                  Infinity
                ]
              },
              "threshold": 0.05,
              "sparklines_histogram": "\u2588\u2584\u2581\u2581\u2585\u2587"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - tail_weights - return partitions should have tail_weights": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.15,
                  0.05,
                  0.05,
                  0.2
                ],
                "bins": [
                  -2,
                  -1,
                  0,
                  1,
                  2
                ],
                "tail_weights": [
                  0.3,
                  0.25
                ]
              },
              "threshold": 0.05,
              "sparklines_histogram": "\u2586\u2581\u2581\u2588"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - bounded endpoints - empty tail_weights in return": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.3,
                  0.15,
                  0.05,
                  0.05,
                  0.2,
                  0.25
                ],
                "bins": [
                  -3,
                  -2,
                  -1,
                  0,
                  1,
                  2,
                  3
                ]
              },
              "threshold": 0.05,
              "sparklines_histogram": "\u2588\u2584\u2581\u2581\u2585\u2587"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - bounded endpoints - observed with tail_weight - infinite KL divergence": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.45,
                  0.05,
                  0.05,
                  0.2,
                  0.25
                ],
                "bins": [
                  -2,
                  -1,
                  0,
                  1,
                  2,
                  3
                ]
              },
              "threshold": 0.05,
              "internal_weight_holdout": 0,
              "tail_weight_holdout": 0,
              "sparklines_histogram": "\u2588\u2581\u2581\u2584\u2585"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - infinite endpoints - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.3,
                  0.15,
                  0.05,
                  0.05,
                  0.2,
                  0.25
                ],
                "bins": [
                  -Infinity,
                  -2,
                  -1,
                  0,
                  1,
                  2,
                  Infinity
                ]
              },
              "threshold": 0.05,
              "internal_weight_holdout": 0,
              "tail_weight_holdout": 0.01,
              "catch_exceptions": true,
              "sparklines_histogram": "\u2588\u2584\u2581\u2581\u2585\u2587"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - upper infinite endpoint - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.3,
                  0.15,
                  0.05,
                  0.05,
                  0.2,
                  0.25
                ],
                "bins": [
                  -3,
                  -2,
                  -1,
                  0,
                  1,
                  2,
                  Infinity
                ]
              },
              "threshold": 0.05,
              "internal_weight_holdout": 0,
              "tail_weight_holdout": 0.02,
              "sparklines_histogram": "\u2588\u2584\u2581\u2581\u2585\u2587"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - lower infinite endpoint - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.3,
                  0.15,
                  0.05,
                  0.05,
                  0.45
                ],
                "bins": [
                  -Infinity,
                  -2,
                  -1,
                  0,
                  1,
                  2
                ]
              },
              "threshold": 0.05,
              "internal_weight_holdout": 0,
              "tail_weight_holdout": 0.05,
              "sparklines_histogram": "\u2586\u2582\u2581\u2581\u2588"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "manual partition - bounded endpoints - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold: $sparklines_histogram",
            "params": {
              "column": "x",
              "partition_object": {
                "weights": [
                  0.3,
                  0.15,
                  0.0,
                  0.1,
                  0.45
                ],
                "bins": [
                  -3,
                  -2,
                  -1,
                  0,
                  1,
                  2
                ]
              },
              "threshold": 0.05,
              "internal_weight_holdout": 0.05,
              "tail_weight_holdout": 0.05,
              "sparklines_histogram": "\u2586\u2583\u2581\u2582\u2588"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "sparklines_histogram": {
                  "styles": {
                    "font-family": "serif"
                  }
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_chisquare_test_p_value_to_be_greater_than": [
    {
      "categorical_fixed partition object": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_chisquare_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "categorical_fixed",
                "partition_object": {
                  "values": [
                    "A",
                    "B",
                    "C"
                  ],
                  "weights": [
                    0.54,
                    0.32,
                    0.14
                  ]
                },
                "p": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "categorical_fixed_alternate partition object": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_chisquare_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "categorical_fixed",
                "partition_object": {
                  "values": [
                    "A",
                    "B",
                    "C"
                  ],
                  "weights": [
                    0.3333333333333333,
                    0.3333333333333333,
                    0.3333333333333333
                  ]
                },
                "p": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "categorical_fixed_alternate partition object; exact match": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_chisquare_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "categorical_fixed",
                "partition_object": {
                  "values": [
                    "A",
                    "B",
                    "C"
                  ],
                  "weights": [
                    0.3333333333333333,
                    0.3333333333333333,
                    0.3333333333333333
                  ]
                },
                "p": 0.05,
                "result_format": "SUMMARY"
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "categorical_fixed_alternate; new categorical vals; no holdout": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_chisquare_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "categorical_list",
                "partition_object": {
                  "values": [
                    "A",
                    "B",
                    "C"
                  ],
                  "weights": [
                    0.3333333333333333,
                    0.3333333333333333,
                    0.3333333333333333
                  ]
                },
                "p": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "categorical_fixed_alternate; new categorical vals; holdout": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_chisquare_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "categorical_list",
                "partition_object": {
                  "values": [
                    "A",
                    "B",
                    "C"
                  ],
                  "weights": [
                    0.3333333333333333,
                    0.3333333333333333,
                    0.3333333333333333
                  ]
                },
                "p": 0.05,
                "tail_weight_holdout": 0.25
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "categorical_fixed; missing categorical vals; no holdout": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_chisquare_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "categorical_list",
                "partition_object": {
                  "weights": [
                    0.54,
                    0.32,
                    0.14
                  ],
                  "values": [
                    "A",
                    "B",
                    "C"
                  ]
                },
                "p": 0.05
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "continuous partition should fail": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_chisquare_test_p_value_to_be_greater_than",
              "kwargs": {
                "column": "categorical_list",
                "partition_object": {
                  "bins": [
                    -3.2412673400690726,
                    -2.987910238971794,
                    -2.734553137874516,
                    -2.481196036777238,
                    -2.2278389356799595,
                    -1.974481834582681,
                    -1.7211247334854027,
                    -1.4677676323881244,
                    -1.214410531290846,
                    -0.9610534301935676,
                    -0.7076963290962892,
                    -0.45433922799901083,
                    -0.2009821269017329,
                    0.05237497419554549,
                    0.30573207529282387,
                    0.5590891763901022,
                    0.8124462774873806,
                    1.065803378584659,
                    1.3191604796819374,
                    1.5725175807792158,
                    1.8258746818764942,
                    2.0792317829737725,
                    2.332588884071051,
                    2.5859459851683293,
                    2.839303086265607,
                    3.092660187362885,
                    3.3460172884601636,
                    3.599374389557442,
                    3.852731490654721
                  ],
                  "weights": [
                    0.001,
                    0.0,
                    0.003,
                    0.003,
                    0.011,
                    0.013,
                    0.029,
                    0.046,
                    0.053,
                    0.07,
                    0.103,
                    0.087,
                    0.093,
                    0.11,
                    0.089,
                    0.086,
                    0.064,
                    0.04,
                    0.038,
                    0.023,
                    0.017,
                    0.011,
                    0.006,
                    0.002,
                    0.001,
                    0.0,
                    0.0,
                    0.001
                  ]
                },
                "p": 0.05,
                "catch_exceptions": true
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_table_row_count_to_equal": [
    {
      "Basic negative case - kwargs args": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have exactly $value rows.",
            "params": {
              "value": 3
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Invalid arguments-throws exception": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have exactly $value rows.",
            "params": {
              "value": "hello",
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_to_exist": [],
  "expect_table_row_count_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have between $min_value and $max_value rows.",
            "params": {
              "min_value": 3,
              "max_value": 5
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Vacuously true": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "May have any number of rows.",
            "params": {
              "min_value": null,
              "max_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have between $min_value and $max_value rows.",
            "params": {
              "min_value": 0,
              "max_value": 1
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null min_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have less than than $max_value rows.",
            "params": {
              "min_value": null,
              "max_value": 4
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with max < min": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have between $min_value and $max_value rows.",
            "params": {
              "min_value": 1,
              "max_value": 0
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with null min": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have less than than $max_value rows.",
            "params": {
              "min_value": null,
              "max_value": 10
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test error handling for non-int min_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have between $min_value and $max_value rows.",
            "params": {
              "min_value": "quack",
              "max_value": 0,
              "catch_exceptions": true
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test error handling for non-int max_value": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Must have less than than $max_value rows.",
            "params": {
              "max_value": "quack",
              "catch_exceptions": true,
              "min_value": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_table_columns_to_match_ordered_list": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "This table should have these columns in this order: $column_list_0, $column_list_1, $column_list_2",
            "params": {
              "column_list": [
                "c1",
                "c2",
                "c3"
              ],
              "column_list_0": "c1",
              "column_list_1": "c2",
              "column_list_2": "c3"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test: column is missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "This table should have these columns in this order: $column_list_0, $column_list_1",
            "params": {
              "column_list": [
                "c1",
                "c2"
              ],
              "column_list_0": "c1",
              "column_list_1": "c2"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test: column is misnamed": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "This table should have these columns in this order: $column_list_0, $column_list_1, $column_list_2",
            "params": {
              "column_list": [
                "b1",
                "c2",
                "c3"
              ],
              "column_list_0": "b1",
              "column_list_1": "c2",
              "column_list_2": "c3"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test: Columns are right, but ordering wrong": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "This table should have these columns in this order: $column_list_0, $column_list_1, $column_list_2",
            "params": {
              "column_list": [
                "c3",
                "c2",
                "c1"
              ],
              "column_list_0": "c3",
              "column_list_1": "c2",
              "column_list_2": "c1"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test: Extra column": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "This table should have these columns in this order: $column_list_0, $column_list_1, $column_list_2, $column_list_3",
            "params": {
              "column_list": [
                "c1",
                "c2",
                "c3",
                "c4"
              ],
              "column_list_0": "c1",
              "column_list_1": "c2",
              "column_list_2": "c3",
              "column_list_3": "c4"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Null list provides vacuously true expectation": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "This table should have a list of columns in a specific order, but that order is not specified.",
            "params": {
              "column_list": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_multicolumn_values_to_be_unique": [
    {
      "Basic test; ignore if all are missing (the default behavior)": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values must always be unique across columns: $column_list_0, $column_list_1",
            "params": {
              "column_list": [
                "w",
                "x"
              ],
              "ignore_row_if": null,
              "column_list_0": "w",
              "column_list_1": "x"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic test; ignore if any are missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values must always be unique across columns: $column_list_0, $column_list_1",
            "params": {
              "column_list": [
                "w",
                "x"
              ],
              "ignore_row_if": "any_value_is_missing",
              "column_list_0": "w",
              "column_list_1": "x"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Unexpected Values": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values must always be unique across columns: $column_list_0, $column_list_1",
            "params": {
              "column_list": [
                "a",
                "b"
              ],
              "ignore_row_if": null,
              "column_list_0": "a",
              "column_list_1": "b"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Unexpected Values - exact match out": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values must always be unique across columns: $column_list_0, $column_list_1",
            "params": {
              "column_list": [
                "a",
                "b"
              ],
              "ignore_row_if": null,
              "column_list_0": "a",
              "column_list_1": "b"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_pair_values_to_be_equal": [
    {
      "Trivial case: x=x": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must always be equal.",
            "params": {
              "column_A": "x",
              "column_B": "x",
              "ignore_row_if": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic negative example": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must always be equal.",
            "params": {
              "column_A": "x",
              "column_B": "y",
              "ignore_row_if": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive example with mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must be equal, at least $mostly_pct % of the time.",
            "params": {
              "column_A": "x",
              "column_B": "y",
              "mostly": 0.9,
              "ignore_row_if": null,
              "mostly_pct": "90.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive example with mismatched null values and ignore_row_if=either_value_is_missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must always be equal.",
            "params": {
              "column_A": "y",
              "column_B": "z",
              "ignore_row_if": "either_value_is_missing",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "A negative example with mismatched null values and `ignore_row_if=both_values_are_missing` set explicitly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must always be equal.",
            "params": {
              "column_A": "w",
              "column_B": "z",
              "ignore_row_if": "both_values_are_missing",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "A negative example with mismatched null values and `ignore_row_if=both_values_are_missing` set by default": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must always be equal.",
            "params": {
              "column_A": "w",
              "column_B": "z",
              "ignore_row_if": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "A negative example": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must always be equal.",
            "params": {
              "column_A": "w",
              "column_B": "z",
              "ignore_row_if": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "A positive example with mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must be equal, at least $mostly_pct % of the time.",
            "params": {
              "column_A": "w",
              "column_B": "z",
              "mostly": 0.5,
              "ignore_row_if": null,
              "mostly_pct": "50.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "A positive example with ignore_row_if=either_value_is_missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A and $column_B must always be equal.",
            "params": {
              "column_A": "w",
              "column_B": "z",
              "ignore_row_if": "either_value_is_missing",
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_pair_values_to_be_in_set": [
    {
      "Basic positive test without nulls": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_pair_values_to_be_in_set",
              "kwargs": {
                "column_A": "x",
                "column_B": "x",
                "value_pairs_set": [
                  [
                    1,
                    1
                  ],
                  [
                    2,
                    2
                  ],
                  [
                    3,
                    3
                  ],
                  [
                    4,
                    4
                  ],
                  [
                    5,
                    5
                  ],
                  [
                    6,
                    6
                  ],
                  [
                    7,
                    7
                  ],
                  [
                    8,
                    8
                  ],
                  [
                    9,
                    9
                  ],
                  [
                    10,
                    10
                  ]
                ]
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Positive test with nulls and ignore_row_if='either_value_is_missing'": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_pair_values_to_be_in_set",
              "kwargs": {
                "column_A": "x",
                "column_B": "z",
                "ignore_row_if": "either_value_is_missing",
                "value_pairs_set": [
                  [
                    1,
                    1
                  ],
                  [
                    2,
                    2
                  ],
                  [
                    3,
                    3
                  ],
                  [
                    4,
                    4
                  ],
                  [
                    5,
                    5
                  ]
                ]
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Negative test with nulls": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_pair_values_to_be_in_set",
              "kwargs": {
                "column_A": "x",
                "column_B": "z",
                "value_pairs_set": [
                  [
                    1,
                    1
                  ],
                  [
                    2,
                    2
                  ],
                  [
                    3,
                    3
                  ],
                  [
                    4,
                    4
                  ],
                  [
                    5,
                    5
                  ]
                ]
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Another positive test with nulls": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "$expectation_type(**$kwargs)",
            "params": {
              "expectation_type": "expect_column_pair_values_to_be_in_set",
              "kwargs": {
                "column_A": "a",
                "column_B": "b",
                "ignore_row_if": "both_values_are_missing",
                "value_pairs_set": [
                  [
                    1,
                    1
                  ],
                  [
                    2,
                    2
                  ],
                  [
                    2,
                    1
                  ],
                  [
                    1,
                    2
                  ]
                ]
              }
            },
            "styling": {
              "classes": [
                "alert",
                "alert-warning"
              ],
              "attributes": {
                "role": "alert"
              },
              "params": {
                "expectation_type": {
                  "classes": [
                    "badge",
                    "badge-warning"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ],
  "expect_column_pair_values_A_to_be_greater_than_B": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A must always be greater than those in $column_B.",
            "params": {
              "column_A": "x",
              "column_B": "w",
              "parse_strings_as_datetimes": null,
              "ignore_row_if": null,
              "mostly": null,
              "or_equal": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Basic positive test with missing values and ignore_row_if=either_value_is_missing": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A must always be greater than those in $column_B.",
            "params": {
              "column_A": "x",
              "column_B": "z",
              "ignore_row_if": "either_value_is_missing",
              "parse_strings_as_datetimes": null,
              "mostly": null,
              "or_equal": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test ties": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A must always be greater than those in $column_B.",
            "params": {
              "column_A": "w",
              "column_B": "z",
              "ignore_row_if": "either_value_is_missing",
              "parse_strings_as_datetimes": null,
              "mostly": null,
              "or_equal": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test ties with or_equal": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A must always be greater than or equal to those in $column_B.",
            "params": {
              "column_A": "w",
              "column_B": "z",
              "or_equal": true,
              "ignore_row_if": "either_value_is_missing",
              "parse_strings_as_datetimes": null,
              "mostly": null
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    },
    {
      "Test parse_strings_as_datetimes and mostly": {
        "content_block_type": "bullet_list",
        "bullet_list": [
          {
            "template": "Values in $column_A must be greater than those in $column_B, at least $mostly_pct % of the time. Values should be parsed as datetimes.",
            "params": {
              "column_A": "a",
              "column_B": "b",
              "parse_strings_as_datetimes": true,
              "mostly": 0.6,
              "ignore_row_if": null,
              "or_equal": null,
              "mostly_pct": "60.0"
            },
            "styling": {
              "default": {
                "classes": [
                  "badge",
                  "badge-secondary"
                ]
              },
              "params": {
                "column": {
                  "classes": [
                    "badge",
                    "badge-primary"
                  ]
                }
              }
            }
          }
        ],
        "styling": {
          "classes": [
            "col-12"
          ]
        }
      }
    }
  ]
}