{
  "expect_column_value_lengths_to_equal": [
    {
      "Positive test, String, one character length": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, String, value is 1 too high": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with missing value in column, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, one length too small": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive, one length too small, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, integer, length = 1": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_not_be_null": [
    {
      "Basic positive case, COMPLETE result format": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, all missing values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, no mostly, one missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must not be null, at least $mostly_pct % of the time.",
              "params": {
                "column": "one_null",
                "mostly": 0.8,
                "mostly_pct": "80"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive case with mostly and no unexpected values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must not be null, at least $mostly_pct % of the time.",
              "params": {
                "column": "no_null",
                "mostly": 0.9,
                "mostly_pct": "90"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative case with 75% null values, no mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_match_regex_list": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with multiple regexes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with more string-ish strings": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with match_on=any": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive_test_column_name_has_space_and_match_on=any": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must match any of the following regular expressions: $v__0 $v__1.",
              "params": {
                "column": "column_name with space",
                "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Another basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Missing min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Null min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Missing max_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Null max_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Another negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Another positive test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Another negative test with result_format=BOOLEAN_ONLY": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "2nd positive test with mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "3rd positive test with mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Error: improperly mixed types": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Error: improperly mixed types again": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Error: improperly mixed types once more": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test to verify that the denominator for mostly works with missing values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test to verify that the denominator for mostly works with missing values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Error on string-to-int comparisons": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test 'min_value is greater than max_value'": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test allow_cross_type_comparisons": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test allow_cross_type_comparisons again": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "test_strict_min_failure": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must always be between $min_value and $max_value.",
              "params": {
                "column": "x",
                "max_value": 10,
                "min_value": 1,
                "strict_min": true,
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "test_strict_min_success": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must always be between $min_value and $max_value.",
              "params": {
                "column": "x",
                "max_value": 10,
                "min_value": 1,
                "strict_min": false,
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "test_strict_max_failure": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must always be between $min_value and $max_value.",
              "params": {
                "column": "x",
                "max_value": 10,
                "min_value": 0,
                "strict_max": true,
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "test_strict_max_success": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must always be between $min_value and $max_value.",
              "params": {
                "column": "x",
                "max_value": 10,
                "min_value": 0,
                "strict_max": false,
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_match_regex": [
    {
      "Negative test, insufficient Mostly + one non-matching value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, exact mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive_test_column_name_has_space": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must match this regular expression: $regex, at least $mostly_pct % of the time.",
              "params": {
                "column": "column_name with space",
                "regex": "^a",
                "mostly": 0.8,
                "mostly_pct": "80"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, sufficient mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, one missing value and insufficent mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, one missing value and exact mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, one missing value and sufficent mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test. all missing values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test. all missing values, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, Empty regex": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, more complicated regex pattern": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, match characters not at the beginning of string": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_not_be_in_set": [
    {
      "Basic positive test case, single value not in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case, include one existing column value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive, Empty values set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic Negative strings set, all character values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, strings set, extra value in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, float set, two out of three column values included, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, float set, two out of three column values included, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive_test__values_set_is_null": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "value_error_spark_cannot_support_values_set_is_null": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column",
              "params": {
                "column": "n",
                "value_set": [
                  null
                ],
                "catch_exceptions": true,
                "mostly": null,
                "parse_strings_as_datetimes": null,
                "v__0": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Raise TypeError when Values set is missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_of_type": [
    {
      "basic_python_int_positive_test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "basic_sqlalchemy_int_positive_test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "basic_spark_int_positive_test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_python_ints_are_not_string": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_sql_ints_are_not_text": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, sqlite integer is not VARCHAR": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_sql_ints_are_not_text": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_pandas_floats": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_postgres_floats": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_sql_non_postgres_floats": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_spark_floats": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_pandas_strings": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_sql_TEXT": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_sql_VARCHAR": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_spark_StringType": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_python_floats_are_not_python_bools": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_sqlalchemy_floats_are_not_BOOLEAN": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_spark_floats_are_not_BooleanType": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "dtype_object_and_type_object_still_has_aggregate_semantics": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be of type $type_.",
              "params": {
                "column": "z",
                "type_": "object",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "dtype_object_and_type_object_still_has_aggregate_semantics_object_underscore": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be of type $type_.",
              "params": {
                "column": "z",
                "type_": "object_",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "dtype_object_and_type_object_still_has_aggregate_semantics_big_O": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be of type $type_.",
              "params": {
                "column": "z",
                "type_": "O",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_pandas_datetime_no_timezone": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_pandas_datetime_with_timezone": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_pandas_datetime_with_timezone_pd_022_pd_023": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_pandas_datetime_with_timezone": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_pandas_datetime_expected_int": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_in_set": [
    {
      "Basic positive test case, number set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true - empty value_set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must belong to this set: [ ].",
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case, exclude existing column value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, Empty values set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must belong to this set: [ ].",
              "params": {
                "column": "x",
                "value_set": [],
                "mostly": null,
                "parse_strings_as_datetimes": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic Positive strings set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, strings set, extra value in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test,  numbers set, no matching values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, float set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, float set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Raise TypeError when Values set is missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must belong to this set: [ ].",
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test empty column; should be vacuously true": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic positive test case, datetime set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test case, datetime set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_decreasing": [
    {
      "Positive test with mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test with strictly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test empty column; should be vacuously true": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_not_match_regex": [
    {
      "Negative test, insufficient Mostly + one non-matching value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, exact mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, sufficient mostly w/ one non-matching value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, one missing value and insufficent mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, one missing value, no exceptions": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test. all missing values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test. all missing values, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, Empty regex": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, match characters not at the beginning of string, exact mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_not_match_regex_list": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with multiple regexes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with more string-ish strings": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_increasing": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "2nd basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with strictly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with parse_strings_as_datetimes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with interspersed nulls": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with interspersed nulls": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_value_lengths_to_be_between": [
    {
      "Positive test, exact min and max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, matching min - max too small": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, matching max - min too large": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null max_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with max < min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with missing value in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling for non-int min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling for non-int max_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling for both null max and min values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling, values are integers": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_match_strftime_format": [
    {
      "Simple positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test - wrong format": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test w/ nulls": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test w/ mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Simple negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test - out of bounds value for month": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test - iso8601": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test raising exception for wrong input data type": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test raising exception for wrong format": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test - input already datetimes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_unique": [
    {
      "basic_positive_test_case": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique.",
              "params": {
                "column": "unique",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic Negative Case, all non-unique character values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique.",
              "params": {
                "column": "a",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Multi-type column, contains 2 and '2'. Suppressed for SQAlchemy ": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique, at least $mostly_pct % of the time.",
              "params": {
                "column": "c",
                "mostly": 0.3,
                "mostly_pct": "30"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive Case, using Mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique, at least $mostly_pct % of the time.",
              "params": {
                "column": "c",
                "mostly": 0.3,
                "mostly_pct": "30"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative Case, using Mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique, at least $mostly_pct % of the time.",
              "params": {
                "column": "c",
                "mostly": 0.4,
                "mostly_pct": "40"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive case, multiple null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique.",
              "params": {
                "column": "n",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative case, non-unique numeric values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique.",
              "params": {
                "column": "c",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive case, all null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique.",
              "params": {
                "column": "null",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, Multiple duplicate values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be unique.",
              "params": {
                "column": "mult_dup",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_match_json_schema": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must match a JSON Schema but none was specified.",
              "params": {
                "column": "x",
                "json_schema": {},
                "mostly": null
              },
              "styling": {
                "params": {
                  "formatted_json": {
                    "classes": []
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with a more complex schema": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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": []
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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": []
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_null": [
    {
      "Basic positive case, BASIC result format": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, no missing values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be null.",
              "params": {
                "column": "no_null",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be null, at least $mostly_pct % of the time.",
              "params": {
                "column": "three_null",
                "mostly": 0.75,
                "mostly_pct": "75"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative, mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be null, at least $mostly_pct % of the time.",
              "params": {
                "column": "three_null",
                "mostly": 0.8,
                "mostly_pct": "80"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive case with mostly and no unexpected values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be null, at least $mostly_pct % of the time.",
              "params": {
                "column": "all_null",
                "mostly": 0.9,
                "mostly_pct": "90"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative case with 75% non-null values, no mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column values must be null.",
              "params": {
                "column": "one_null",
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_values_to_be_in_type_list": [
    {
      "positive_test_pandas_integer_column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_sqlalchemy_integer_column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_spark_integer_column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_pandas_float_values_are_not_strings": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_sqlalchemy_float_values_are_not_TEXT": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative_test_spark_float_values_are_not_StringType": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_float_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_float_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_float_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_string_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_TEXT_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_StringType_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_boolean_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_boolean_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_boolean_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_string_and_int_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_TEXT_and_INTEGER_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_StringType_and_IntegerType_values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive_test_placeholder_expectation": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column value types may be any value, but observed value will be reported",
              "params": {
                "column": "s",
                "type_list": null,
                "mostly": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_stdev_to_be_between": [
    {
      "Basic Positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, exact min and max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic Negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive, Zero stdev, exact min and max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, null max, exact min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, null min, exact max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, null max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, null min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive Test, missing value in column, COMPLETE result format": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_distinct_values_to_be_in_set": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true - universal set": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column distinct values must belong to this set: [ ]",
              "params": {
                "column": "dist1",
                "value_set": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test, no set intersection": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, some set intersection and extra": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "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",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, tie for most common, full value_set, ties_okay = FALSE": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, tie for most common, ties_okay = TRUE": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, tie for most common (but test for last value), ties_okay = TRUE": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, tie for most common, value set does not match, ties_okay = FALSE": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, tie for most common, value set does not match, ties_okay = True": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, string values, value set contains more than actual mode list": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, string values, value set contains more than actual mode list": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_quantile_values_to_be_between": [
    {
      "Basic positive test: extremes": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic positive test: normal quartiles": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic positive test: uneven spacing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test: normal quartiles, wrong distribution": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_max_to_be_between": [
    {
      "Basic positive test case": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test case": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test case with result_format=SUMMARY. Also verifies that max_value is inclusive": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test case with only a lower bound, and a missing value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case with only a lower bound": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test on a series containing dates, with an output_strftime_format value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test on a date-like series containing strings": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test on strings": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test empty column; should be false (no observed value with which to compare)": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_mean_to_be_between": [
    {
      "simple mean: positive range": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "simple mean: negative range": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "simple mean: positive exact match": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "simple mean: negative exact match": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "simple mean: positive exact match": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "simple mean: negative range match": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "simple mean: includes null": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true: missing min and max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "type mismatch: null observed_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "coerced types: true/false values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "coerced types: true/false and null": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "TypeError: catch exceptions. Non-number min-value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "TypeError: catch exceptions. Non-number max-value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test empty column; should be false (no observed value with which to compare)": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_distinct_values_to_equal_set": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test, set contained": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, some set intersection": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_sum_to_be_between": [
    {
      "Basic positive test case": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test case": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test case with result_format=SUMMARY": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test case with only a lower bound, and a missing value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case with only a lower bound": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case with only a max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Raise ValueError with both max and min are missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_unique_value_count_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Null min; duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Null max; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true: null min and max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_median_to_be_between": [
    {
      "Positive test, min == max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, null min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test, null max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, min == max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, null min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, null max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive Test, missing value in column, exact min and max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative Test, missing value in column, COMPLETE result format": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true: both min and max null": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test empty column; should be false (no observed value with which to compare)": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_min_to_be_between": [
    {
      "Basic positive test case": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case, with max_value=None": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test case with result_format=SUMMARY. Also verifies that max_value is inclusive": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test case with only a lower bound, and a missing value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case with only a lower bound": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test on a series with mostly nulls": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test on a series containing dates": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test on a series containing dates, with an output_strftime_format value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test case with only a max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Raise ValueError with both max and min are missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test on strings": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_proportion_of_unique_values_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column fraction of unique values must be between $min_value and $max_value.",
              "params": {
                "column": "dist1",
                "min_value": 0.5,
                "max_value": 1
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column fraction of unique values must be between $min_value and $max_value.",
              "params": {
                "column": "dist2",
                "min_value": 0.5,
                "max_value": 1
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column fraction of unique values must be between $min_value and $max_value.",
              "params": {
                "column": "dist3",
                "min_value": 0.6,
                "max_value": 0.7
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Null max; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column fraction of unique values must be at least $min_value.",
              "params": {
                "column": "dist4",
                "min_value": 0.3,
                "max_value": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true: null min and max": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column may have any fraction 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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_distinct_values_to_contain_set": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test, no set intersection": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test, some set intersection": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with null values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with duplicate values in column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test; duplicate and null values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_parameterized_distribution_ks_test_p_value_to_be_greater_than": [
    {
      "Positive standard norm distribution": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative standard norm distribution": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive beta distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive beta distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative beta distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative beta distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive gamma distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive gamma distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative gamma distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative gamma distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive uniform distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive uniform distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative uniform distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative uniform distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive chi2, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive chi2, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative chi2, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative chi2, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive expon distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive expon distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative expon distribution, params is a dict": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative expon distribution, params is a tuple": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_kl_divergence_to_be_less_than": [
    {
      "discrete - baseline (categorical_fixed partition)": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "categorical_fixed",
                "partition_object": {
                  "weights": [
                    0.54,
                    0.32,
                    0.14
                  ],
                  "values": [
                    "A",
                    "B",
                    "C"
                  ]
                },
                "threshold": 0.1
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-285793ae948938a41eaddba9d511a699\"\n  },\n  \"datasets\": {\n    \"data-285793ae948938a41eaddba9d511a699\": [\n      {\n        \"fraction\": 0.54,\n        \"values\": \"A\"\n      },\n      {\n        \"fraction\": 0.32,\n        \"values\": \"B\"\n      },\n      {\n        \"fraction\": 0.14,\n        \"values\": \"C\"\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"values\",\n      \"type\": \"nominal\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "discrete - (categorical_fixed_alternate partition)": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "categorical_fixed",
                "partition_object": {
                  "weights": [
                    0.3333333333333333,
                    0.3333333333333333,
                    0.3333333333333333
                  ],
                  "values": [
                    "A",
                    "B",
                    "C"
                  ]
                },
                "threshold": 0.1
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-62e2475760af4eda5599657d7d4fc18e\"\n  },\n  \"datasets\": {\n    \"data-62e2475760af4eda5599657d7d4fc18e\": [\n      {\n        \"fraction\": 0.3333333333333333,\n        \"values\": \"A\"\n      },\n      {\n        \"fraction\": 0.3333333333333333,\n        \"values\": \"B\"\n      },\n      {\n        \"fraction\": 0.3333333333333333,\n        \"values\": \"C\"\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"values\",\n      \"type\": \"nominal\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "internal holdout with categorical partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-285793ae948938a41eaddba9d511a699\"\n  },\n  \"datasets\": {\n    \"data-285793ae948938a41eaddba9d511a699\": [\n      {\n        \"fraction\": 0.54,\n        \"values\": \"A\"\n      },\n      {\n        \"fraction\": 0.32,\n        \"values\": \"B\"\n      },\n      {\n        \"fraction\": 0.14,\n        \"values\": \"C\"\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"values\",\n      \"type\": \"nominal\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "holdout - 0.1": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "a",
                "partition_object": {
                  "values": [
                    "a",
                    "b"
                  ],
                  "weights": [
                    0.6,
                    0.4
                  ]
                },
                "threshold": 0.1,
                "tail_weight_holdout": 0.1
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-503a6b1863a457b14960b9efa82d84b6\"\n  },\n  \"datasets\": {\n    \"data-503a6b1863a457b14960b9efa82d84b6\": [\n      {\n        \"fraction\": 0.6,\n        \"values\": \"a\"\n      },\n      {\n        \"fraction\": 0.4,\n        \"values\": \"b\"\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"values\",\n      \"type\": \"nominal\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "holdout - 0.05": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "a",
                "partition_object": {
                  "values": [
                    "a",
                    "b"
                  ],
                  "weights": [
                    0.6,
                    0.4
                  ]
                },
                "threshold": 0.1,
                "tail_weight_holdout": 0.05
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-503a6b1863a457b14960b9efa82d84b6\"\n  },\n  \"datasets\": {\n    \"data-503a6b1863a457b14960b9efa82d84b6\": [\n      {\n        \"fraction\": 0.6,\n        \"values\": \"a\"\n      },\n      {\n        \"fraction\": 0.4,\n        \"values\": \"b\"\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"values\",\n      \"type\": \"nominal\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "missing vals no holdout": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "a",
                "partition_object": {
                  "values": [
                    "a",
                    "b"
                  ],
                  "weights": [
                    0.6,
                    0.4
                  ]
                },
                "threshold": 0.1
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-503a6b1863a457b14960b9efa82d84b6\"\n  },\n  \"datasets\": {\n    \"data-503a6b1863a457b14960b9efa82d84b6\": [\n      {\n        \"fraction\": 0.6,\n        \"values\": \"a\"\n      },\n      {\n        \"fraction\": 0.4,\n        \"values\": \"b\"\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"values\",\n      \"type\": \"nominal\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "norm_0_1_auto - explicit infinite endpoints": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-1acb4f4b5906dfb214ce99b60fb41029\"\n  },\n  \"datasets\": {\n    \"data-1acb4f4b5906dfb214ce99b60fb41029\": [\n      {\n        \"bin_max\": -3.2,\n        \"bin_min\": null,\n        \"fraction\": 0.005\n      },\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.01287\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.028710000000000003\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.04554\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.052469999999999996\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.0693\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.10196999999999999\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.08613\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.09207\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.1089\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.08811\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.08514\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.06336\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.0396\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.03762\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.02277\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.01683\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.00594\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.00198\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 3.9,\n        \"fraction\": 0.005\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "norm_0_1_auto_inf partition - test tail weights": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-4eb47761d510dfc8f1ce6504fa251051\"\n  },\n  \"datasets\": {\n    \"data-4eb47761d510dfc8f1ce6504fa251051\": [\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.01287\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.028710000000000003\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.04554\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.052469999999999996\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.0693\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.10196999999999999\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.08613\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.09207\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.1089\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.08811\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.08514\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.06336\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.0396\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.03762\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.02277\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.01683\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.00594\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.00198\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.00099\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "norm_0_1_auto_inf partition - should fail with no holdout": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-1acb4f4b5906dfb214ce99b60fb41029\"\n  },\n  \"datasets\": {\n    \"data-1acb4f4b5906dfb214ce99b60fb41029\": [\n      {\n        \"bin_max\": -3.2,\n        \"bin_min\": null,\n        \"fraction\": 0.005\n      },\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.01287\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.028710000000000003\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.04554\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.052469999999999996\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.0693\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.10196999999999999\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.08613\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.09207\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.1089\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.08811\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.08514\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.06336\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.0396\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.03762\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.02277\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.01683\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.00594\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.00198\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 3.9,\n        \"fraction\": 0.005\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "norm_0_1_auto_inf partition - null threshold should always succeed": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-1acb4f4b5906dfb214ce99b60fb41029\"\n  },\n  \"datasets\": {\n    \"data-1acb4f4b5906dfb214ce99b60fb41029\": [\n      {\n        \"bin_max\": -3.2,\n        \"bin_min\": null,\n        \"fraction\": 0.005\n      },\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.01287\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.028710000000000003\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.04554\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.052469999999999996\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.0693\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.10196999999999999\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.08613\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.09207\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.1089\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.08811\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.08514\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.06336\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.0396\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.03762\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.02277\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.01683\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.00594\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.00198\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 3.9,\n        \"fraction\": 0.005\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "norm_0_1_auto_inf partition - null threshold *and* partition object supports profiling": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Column can match any distribution.",
              "params": {
                "column": "norm_0_1",
                "partition_object": null,
                "threshold": null
              }
            }
          }
        ]
      }
    },
    {
      "norm_0_1_auto_inf partition - tail weights - should fail with no internal holdout": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-4eb47761d510dfc8f1ce6504fa251051\"\n  },\n  \"datasets\": {\n    \"data-4eb47761d510dfc8f1ce6504fa251051\": [\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.00297\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.01287\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.028710000000000003\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.04554\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.052469999999999996\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.0693\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.10196999999999999\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.08613\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.09207\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.1089\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.08811\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.08514\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.06336\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.0396\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.03762\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.02277\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.01683\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.010889999999999999\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.00594\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.00198\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.00099\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.00099\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive - norm_0_1_auto partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-a28e3d6ecc34100614ff39e112d0cb17\"\n  },\n  \"datasets\": {\n    \"data-a28e3d6ecc34100614ff39e112d0cb17\": [\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.001\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.003\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.003\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.011\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.013\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.029\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.046\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.053\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.07\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.103\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.087\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.093\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.11\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.089\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.086\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.064\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.04\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.038\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.023\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.017\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.011\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.006\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.002\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.001\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.001\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive - norm_0_1_uniform partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-94d5580131fd1971148875ea4e1c53f3\"\n  },\n  \"datasets\": {\n    \"data-94d5580131fd1971148875ea4e1c53f3\": [\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.004\n      },\n      {\n        \"bin_max\": -1.8,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.022\n      },\n      {\n        \"bin_max\": -1.1,\n        \"bin_min\": -1.8,\n        \"fraction\": 0.096\n      },\n      {\n        \"bin_max\": -0.4,\n        \"bin_min\": -1.1,\n        \"fraction\": 0.228\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": -0.4,\n        \"fraction\": 0.272\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.226\n      },\n      {\n        \"bin_max\": 1.7,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.104\n      },\n      {\n        \"bin_max\": 2.4,\n        \"bin_min\": 1.7,\n        \"fraction\": 0.038\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.4,\n        \"fraction\": 0.009\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.001\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive - norm_0_1_ntile partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-9229fd8c7397b1bddfd8b8a23aed42d2\"\n  },\n  \"datasets\": {\n    \"data-9229fd8c7397b1bddfd8b8a23aed42d2\": [\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.8,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.2,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.5,\n        \"bin_min\": 0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.1\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive - norm_0_1_kde partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-9229fd8c7397b1bddfd8b8a23aed42d2\"\n  },\n  \"datasets\": {\n    \"data-9229fd8c7397b1bddfd8b8a23aed42d2\": [\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.8,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.2,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.5,\n        \"bin_min\": 0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.1\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_auto partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-a28e3d6ecc34100614ff39e112d0cb17\"\n  },\n  \"datasets\": {\n    \"data-a28e3d6ecc34100614ff39e112d0cb17\": [\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.001\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.003\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.003\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.011\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.013\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.029\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.046\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.053\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.07\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.103\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.087\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.093\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.11\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.089\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.086\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.064\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.04\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.038\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.023\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.017\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.011\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.006\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.002\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.001\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.001\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_uniform partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-94d5580131fd1971148875ea4e1c53f3\"\n  },\n  \"datasets\": {\n    \"data-94d5580131fd1971148875ea4e1c53f3\": [\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.004\n      },\n      {\n        \"bin_max\": -1.8,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.022\n      },\n      {\n        \"bin_max\": -1.1,\n        \"bin_min\": -1.8,\n        \"fraction\": 0.096\n      },\n      {\n        \"bin_max\": -0.4,\n        \"bin_min\": -1.1,\n        \"fraction\": 0.228\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": -0.4,\n        \"fraction\": 0.272\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.226\n      },\n      {\n        \"bin_max\": 1.7,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.104\n      },\n      {\n        \"bin_max\": 2.4,\n        \"bin_min\": 1.7,\n        \"fraction\": 0.038\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.4,\n        \"fraction\": 0.009\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.001\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_ntile partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-9229fd8c7397b1bddfd8b8a23aed42d2\"\n  },\n  \"datasets\": {\n    \"data-9229fd8c7397b1bddfd8b8a23aed42d2\": [\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.8,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.2,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.5,\n        \"bin_min\": 0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.1\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative - norm_1_1 column - norm_0_1_kde partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-9229fd8c7397b1bddfd8b8a23aed42d2\"\n  },\n  \"datasets\": {\n    \"data-9229fd8c7397b1bddfd8b8a23aed42d2\": [\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.8,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.2,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.5,\n        \"bin_min\": 0.2,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.5,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.1\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "positive - bimodal_auto partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-f6b0e6d3eb7bd2b3e4ab4337107a89bc\"\n  },\n  \"datasets\": {\n    \"data-f6b0e6d3eb7bd2b3e4ab4337107a89bc\": [\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.018\n      },\n      {\n        \"bin_max\": -0.1,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.204\n      },\n      {\n        \"bin_max\": 1.4,\n        \"bin_min\": -0.1,\n        \"fraction\": 0.235\n      },\n      {\n        \"bin_max\": 3.0,\n        \"bin_min\": 1.4,\n        \"fraction\": 0.041\n      },\n      {\n        \"bin_max\": 4.6,\n        \"bin_min\": 3.0,\n        \"fraction\": 0.002\n      },\n      {\n        \"bin_max\": 6.1,\n        \"bin_min\": 4.6,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 7.7,\n        \"bin_min\": 6.1,\n        \"fraction\": 0.004\n      },\n      {\n        \"bin_max\": 9.2,\n        \"bin_min\": 7.7,\n        \"fraction\": 0.105\n      },\n      {\n        \"bin_max\": 10.8,\n        \"bin_min\": 9.2,\n        \"fraction\": 0.285\n      },\n      {\n        \"bin_max\": 12.4,\n        \"bin_min\": 10.8,\n        \"fraction\": 0.099\n      },\n      {\n        \"bin_max\": 13.9,\n        \"bin_min\": 12.4,\n        \"fraction\": 0.007\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative - bimodal column - norm_0_1_auto partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-a28e3d6ecc34100614ff39e112d0cb17\"\n  },\n  \"datasets\": {\n    \"data-a28e3d6ecc34100614ff39e112d0cb17\": [\n      {\n        \"bin_max\": -3.0,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.001\n      },\n      {\n        \"bin_max\": -2.7,\n        \"bin_min\": -3.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -2.7,\n        \"fraction\": 0.003\n      },\n      {\n        \"bin_max\": -2.2,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.003\n      },\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -2.2,\n        \"fraction\": 0.011\n      },\n      {\n        \"bin_max\": -1.7,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.013\n      },\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -1.7,\n        \"fraction\": 0.029\n      },\n      {\n        \"bin_max\": -1.2,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.046\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.2,\n        \"fraction\": 0.053\n      },\n      {\n        \"bin_max\": -0.7,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.07\n      },\n      {\n        \"bin_max\": -0.5,\n        \"bin_min\": -0.7,\n        \"fraction\": 0.103\n      },\n      {\n        \"bin_max\": -0.2,\n        \"bin_min\": -0.5,\n        \"fraction\": 0.087\n      },\n      {\n        \"bin_max\": 0.1,\n        \"bin_min\": -0.2,\n        \"fraction\": 0.093\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": 0.1,\n        \"fraction\": 0.11\n      },\n      {\n        \"bin_max\": 0.6,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.089\n      },\n      {\n        \"bin_max\": 0.8,\n        \"bin_min\": 0.6,\n        \"fraction\": 0.086\n      },\n      {\n        \"bin_max\": 1.1,\n        \"bin_min\": 0.8,\n        \"fraction\": 0.064\n      },\n      {\n        \"bin_max\": 1.3,\n        \"bin_min\": 1.1,\n        \"fraction\": 0.04\n      },\n      {\n        \"bin_max\": 1.6,\n        \"bin_min\": 1.3,\n        \"fraction\": 0.038\n      },\n      {\n        \"bin_max\": 1.8,\n        \"bin_min\": 1.6,\n        \"fraction\": 0.023\n      },\n      {\n        \"bin_max\": 2.1,\n        \"bin_min\": 1.8,\n        \"fraction\": 0.017\n      },\n      {\n        \"bin_max\": 2.3,\n        \"bin_min\": 2.1,\n        \"fraction\": 0.011\n      },\n      {\n        \"bin_max\": 2.6,\n        \"bin_min\": 2.3,\n        \"fraction\": 0.006\n      },\n      {\n        \"bin_max\": 2.8,\n        \"bin_min\": 2.6,\n        \"fraction\": 0.002\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.8,\n        \"fraction\": 0.001\n      },\n      {\n        \"bin_max\": 3.3,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.6,\n        \"bin_min\": 3.3,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.6,\n        \"fraction\": 0.001\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 300,\n  \"mark\": \"bar\",\n  \"width\": 300\n}",
            "styling": {
              "classes": [
                "col-6"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "negative - bimodal column - norm_0_1_uniform partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-94d5580131fd1971148875ea4e1c53f3\"\n  },\n  \"datasets\": {\n    \"data-94d5580131fd1971148875ea4e1c53f3\": [\n      {\n        \"bin_max\": -2.5,\n        \"bin_min\": -3.2,\n        \"fraction\": 0.004\n      },\n      {\n        \"bin_max\": -1.8,\n        \"bin_min\": -2.5,\n        \"fraction\": 0.022\n      },\n      {\n        \"bin_max\": -1.1,\n        \"bin_min\": -1.8,\n        \"fraction\": 0.096\n      },\n      {\n        \"bin_max\": -0.4,\n        \"bin_min\": -1.1,\n        \"fraction\": 0.228\n      },\n      {\n        \"bin_max\": 0.3,\n        \"bin_min\": -0.4,\n        \"fraction\": 0.272\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.3,\n        \"fraction\": 0.226\n      },\n      {\n        \"bin_max\": 1.7,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.104\n      },\n      {\n        \"bin_max\": 2.4,\n        \"bin_min\": 1.7,\n        \"fraction\": 0.038\n      },\n      {\n        \"bin_max\": 3.1,\n        \"bin_min\": 2.4,\n        \"fraction\": 0.009\n      },\n      {\n        \"bin_max\": 3.9,\n        \"bin_min\": 3.1,\n        \"fraction\": 0.001\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - lower inf bound": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "x",
                "partition_object": {
                  "bins": [
                    -Infinity,
                    0,
                    1,
                    2,
                    3
                  ],
                  "weights": [
                    0.25,
                    0.25,
                    0.25,
                    0.25
                  ]
                },
                "threshold": 0.0
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-157cf94245623fc79a1b363a513dba44\"\n  },\n  \"datasets\": {\n    \"data-157cf94245623fc79a1b363a513dba44\": [\n      {\n        \"bin_max\": 0,\n        \"bin_min\": null,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2.0,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - lower inf bound tail_weights": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-f72d528eca94ba3a22963adcd26161b1\"\n  },\n  \"datasets\": {\n    \"data-f72d528eca94ba3a22963adcd26161b1\": [\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - upper inf bound": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "y",
                "partition_object": {
                  "bins": [
                    0,
                    1,
                    2,
                    3,
                    Infinity
                  ],
                  "weights": [
                    0.25,
                    0.25,
                    0.25,
                    0.25
                  ]
                },
                "threshold": 0.5
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-1a2ccb61d5488fab3130c581bf04d252\"\n  },\n  \"datasets\": {\n    \"data-1a2ccb61d5488fab3130c581bf04d252\": [\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 3.0,\n        \"bin_min\": 2,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 3,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - upper inf bound tail_weights": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-f72d528eca94ba3a22963adcd26161b1\"\n  },\n  \"datasets\": {\n    \"data-f72d528eca94ba3a22963adcd26161b1\": [\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - lower and upper inf bounds": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-a04253100be98ad3784c56d31d25458f\"\n  },\n  \"datasets\": {\n    \"data-a04253100be98ad3784c56d31d25458f\": [\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": null,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 3.0,\n        \"bin_min\": 2.0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 3.0,\n        \"fraction\": 0.1\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - lower and upper inf bounds": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-17752a21712fe945faadc9f9269994df\"\n  },\n  \"datasets\": {\n    \"data-17752a21712fe945faadc9f9269994df\": [\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.2\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "tail weight holdout is not defined for partitions already extending to inifinity": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-a04253100be98ad3784c56d31d25458f\"\n  },\n  \"datasets\": {\n    \"data-a04253100be98ad3784c56d31d25458f\": [\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": null,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 3.0,\n        \"bin_min\": 2.0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 3.0,\n        \"fraction\": 0.1\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "tail weight holdout is not defined for partitions already extending to inifinity - tail_weight": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-17752a21712fe945faadc9f9269994df\"\n  },\n  \"datasets\": {\n    \"data-17752a21712fe945faadc9f9269994df\": [\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.2\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "empty partition": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Column can match any distribution.",
              "params": {
                "column": "z",
                "partition_object": {},
                "threshold": 0.5,
                "tail_weight_holdout": 0.1,
                "catch_exceptions": true
              }
            }
          }
        ]
      }
    },
    {
      "too-big tail_weight": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-17752a21712fe945faadc9f9269994df\"\n  },\n  \"datasets\": {\n    \"data-17752a21712fe945faadc9f9269994df\": [\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.2\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "too-big internal_weight": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-17752a21712fe945faadc9f9269994df\"\n  },\n  \"datasets\": {\n    \"data-17752a21712fe945faadc9f9269994df\": [\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.2\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - undefined (infinite) kl divergence": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "x1",
                "partition_object": {
                  "weights": [
                    0.5,
                    0.5
                  ],
                  "values": [
                    "a",
                    "b"
                  ]
                },
                "threshold": 0.05
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-da31668556f29e36d0de369ff733d766\"\n  },\n  \"datasets\": {\n    \"data-da31668556f29e36d0de369ff733d766\": [\n      {\n        \"fraction\": 0.5,\n        \"values\": \"a\"\n      },\n      {\n        \"fraction\": 0.5,\n        \"values\": \"b\"\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"values\",\n      \"type\": \"nominal\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - undefined (infinite) kl divergence": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-4ae074edac26ab33aac71da9b2ca0fe9\"\n  },\n  \"datasets\": {\n    \"data-4ae074edac26ab33aac71da9b2ca0fe9\": [\n      {\n        \"bin_max\": -1.5,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -1.5,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 1.5,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.4\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1.5,\n        \"fraction\": 0.1\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - undefined (infinite) kl divergence - bins do not cover all data": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "params": {
                "column": "x2",
                "partition_object": {
                  "weights": [
                    0.25,
                    0.25,
                    0.25,
                    0.25
                  ],
                  "bins": [
                    -1,
                    0,
                    1,
                    1.5,
                    2
                  ]
                },
                "threshold": 0.05
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-44a3607d05f3c083b16727caa93bf97f\"\n  },\n  \"datasets\": {\n    \"data-44a3607d05f3c083b16727caa93bf97f\": [\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 1.5,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.25\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1.5,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - return partitions should have tail_weights": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-d22f1e3b0d0ba9caed430da0c0a70880\"\n  },\n  \"datasets\": {\n    \"data-d22f1e3b0d0ba9caed430da0c0a70880\": [\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": null,\n        \"fraction\": 0.3\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.15\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 2.0,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - tail_weights - return partitions should have tail_weights": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-2b38b2b5001894b208a6664cdabbdcce\"\n  },\n  \"datasets\": {\n    \"data-2b38b2b5001894b208a6664cdabbdcce\": [\n      {\n        \"bin_max\": -1,\n        \"bin_min\": -2,\n        \"fraction\": 0.15\n      },\n      {\n        \"bin_max\": 0,\n        \"bin_min\": -1,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.2\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - bounded endpoints - empty tail_weights in return": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-553f2c3a37dff17f64b6920c6fd1aa5a\"\n  },\n  \"datasets\": {\n    \"data-553f2c3a37dff17f64b6920c6fd1aa5a\": [\n      {\n        \"bin_max\": -2,\n        \"bin_min\": -3,\n        \"fraction\": 0.3\n      },\n      {\n        \"bin_max\": -1,\n        \"bin_min\": -2,\n        \"fraction\": 0.15\n      },\n      {\n        \"bin_max\": 0,\n        \"bin_min\": -1,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - bounded endpoints - observed with tail_weight - infinite KL divergence": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-25e069f918e849eb0c68c1aca0d7fdcc\"\n  },\n  \"datasets\": {\n    \"data-25e069f918e849eb0c68c1aca0d7fdcc\": [\n      {\n        \"bin_max\": -1,\n        \"bin_min\": -2,\n        \"fraction\": 0.45\n      },\n      {\n        \"bin_max\": 0,\n        \"bin_min\": -1,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": 3,\n        \"bin_min\": 2,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - infinite endpoints - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-d22f1e3b0d0ba9caed430da0c0a70880\"\n  },\n  \"datasets\": {\n    \"data-d22f1e3b0d0ba9caed430da0c0a70880\": [\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": null,\n        \"fraction\": 0.3\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.15\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 2.0,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - upper infinite endpoint - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-b6d32fb6fd391520b93888d855652c6f\"\n  },\n  \"datasets\": {\n    \"data-b6d32fb6fd391520b93888d855652c6f\": [\n      {\n        \"bin_max\": -2.0,\n        \"bin_min\": -3,\n        \"fraction\": 0.3\n      },\n      {\n        \"bin_max\": -1.0,\n        \"bin_min\": -2,\n        \"fraction\": 0.15\n      },\n      {\n        \"bin_max\": 0.0,\n        \"bin_min\": -1,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 1.0,\n        \"bin_min\": 0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 2.0,\n        \"bin_min\": 1,\n        \"fraction\": 0.2\n      },\n      {\n        \"bin_max\": null,\n        \"bin_min\": 2,\n        \"fraction\": 0.25\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - lower infinite endpoint - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-feb460303017b9b5e7749c5c89972ced\"\n  },\n  \"datasets\": {\n    \"data-feb460303017b9b5e7749c5c89972ced\": [\n      {\n        \"bin_max\": -2,\n        \"bin_min\": null,\n        \"fraction\": 0.3\n      },\n      {\n        \"bin_max\": -1,\n        \"bin_min\": -2.0,\n        \"fraction\": 0.15\n      },\n      {\n        \"bin_max\": 0,\n        \"bin_min\": -1.0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0.0,\n        \"fraction\": 0.05\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1.0,\n        \"fraction\": 0.45\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    },
    {
      "manual partition - bounded endpoints - non-zero tail_hold_out": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "$column Kullback-Leibler (KL) divergence with respect to the following distribution must be lower than $threshold:\n\n",
              "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
              }
            }
          },
          {
            "content_block_type": "graph",
            "graph": "{\n  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.4.0.json\",\n  \"autosize\": \"fit\",\n  \"config\": {\n    \"mark\": {\n      \"tooltip\": null\n    },\n    \"view\": {\n      \"height\": 300,\n      \"width\": 400\n    }\n  },\n  \"data\": {\n    \"name\": \"data-8ecdf0954d534fbdd029b3f0c28e3f43\"\n  },\n  \"datasets\": {\n    \"data-8ecdf0954d534fbdd029b3f0c28e3f43\": [\n      {\n        \"bin_max\": -2,\n        \"bin_min\": -3,\n        \"fraction\": 0.3\n      },\n      {\n        \"bin_max\": -1,\n        \"bin_min\": -2,\n        \"fraction\": 0.15\n      },\n      {\n        \"bin_max\": 0,\n        \"bin_min\": -1,\n        \"fraction\": 0.0\n      },\n      {\n        \"bin_max\": 1,\n        \"bin_min\": 0,\n        \"fraction\": 0.1\n      },\n      {\n        \"bin_max\": 2,\n        \"bin_min\": 1,\n        \"fraction\": 0.45\n      }\n    ]\n  },\n  \"encoding\": {\n    \"x\": {\n      \"field\": \"bin_min\",\n      \"type\": \"ordinal\"\n    },\n    \"x2\": {\n      \"field\": \"bin_max\"\n    },\n    \"y\": {\n      \"field\": \"fraction\",\n      \"type\": \"quantitative\"\n    }\n  },\n  \"height\": 200,\n  \"mark\": \"bar\",\n  \"width\": 200\n}",
            "styling": {
              "classes": [
                "col-4"
              ],
              "styles": {
                "margin-top": "20px"
              },
              "parent": {
                "styles": {
                  "list-style-type": "none"
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_chisquare_test_p_value_to_be_greater_than": [
    {
      "categorical_fixed partition object": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "categorical_fixed_alternate partition object": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "categorical_fixed_alternate partition object; exact match": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "categorical_fixed_alternate; new categorical vals; no holdout": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "categorical_fixed_alternate; new categorical vals; holdout": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "categorical_fixed; missing categorical vals; no holdout": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "continuous partition should fail": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_table_row_count_to_equal": [
    {
      "Basic negative case - kwargs args": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have exactly $value rows.",
              "params": {
                "value": 3
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Invalid arguments-throws exception": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have exactly $value rows.",
              "params": {
                "value": "hello",
                "catch_exceptions": true
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_to_exist": [],
  "expect_table_row_count_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with max < min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling for non-int min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling for non-int max_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_table_column_count_to_be_between": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have between $min_value and $max_value columns.",
              "params": {
                "min_value": 3,
                "max_value": 5
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Vacuously true": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "May have any number of columns.",
              "params": {
                "min_value": null,
                "max_value": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have between $min_value and $max_value columns.",
              "params": {
                "min_value": 0,
                "max_value": 1
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have less than than $max_value columns.",
              "params": {
                "min_value": null,
                "max_value": 4
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with max < min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have between $min_value and $max_value columns.",
              "params": {
                "min_value": 1,
                "max_value": 0
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with null min": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have less than than $max_value columns.",
              "params": {
                "min_value": null,
                "max_value": 10
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling for non-int min_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have between $min_value and $max_value columns.",
              "params": {
                "min_value": "quack",
                "max_value": 0,
                "catch_exceptions": true
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test error handling for non-int max_value": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have less than than $max_value columns.",
              "params": {
                "max_value": "quack",
                "catch_exceptions": true,
                "min_value": null
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_table_column_count_to_equal": [
    {
      "Basic negative case - kwargs args": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have exactly $value columns.",
              "params": {
                "value": 3
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Invalid arguments-throws exception": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "template": "Must have exactly $value columns.",
              "params": {
                "value": "hello",
                "catch_exceptions": true
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_table_columns_to_match_ordered_list": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test: column is missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test: column is misnamed": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test: Columns are right, but ordering wrong": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test: Extra column": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Null list provides vacuously true expectation": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_multicolumn_values_to_be_unique": [
    {
      "Basic test; ignore if all are missing (the default behavior)": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic test; ignore if any are missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Unexpected Values": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Unexpected Values - exact match out": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_pair_values_to_be_equal": [
    {
      "Trivial case: x=x": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic negative example": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive example with mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive example with mismatched null values and ignore_row_if=either_value_is_missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "A negative example with mismatched null values and `ignore_row_if=both_values_are_missing` set explicitly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "A negative example with mismatched null values and `ignore_row_if=both_values_are_missing` set by default": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "A negative example": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "A positive example with mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "A positive example with ignore_row_if=either_value_is_missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_pair_values_to_be_in_set": [
    {
      "Basic positive test without nulls": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Positive test with nulls and ignore_row_if='either_value_is_missing'": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Negative test with nulls": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Another positive test with nulls": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "styling": {
              "parent": {
                "classes": [
                  "alert",
                  "alert-warning"
                ]
              }
            },
            "string_template": {
              "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": {
                "params": {
                  "expectation_type": {
                    "classes": [
                      "badge",
                      "badge-warning"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ],
  "expect_column_pair_values_A_to_be_greater_than_B": [
    {
      "Basic positive test": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Basic positive test with missing values and ignore_row_if=either_value_is_missing": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test ties": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test ties with or_equal": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    {
      "Test parse_strings_as_datetimes and mostly": {
        "content_block_type": "bullet_list",
        "styling": {
          "classes": [
            "col-12"
          ]
        },
        "bullet_list": [
          {
            "content_block_type": "string_template",
            "string_template": {
              "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"
              },
              "styling": {
                "default": {
                  "classes": [
                    "badge",
                    "badge-secondary"
                  ]
                },
                "params": {
                  "column": {
                    "classes": [
                      "badge",
                      "badge-primary"
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  ]
}