def test_pandas_confusion_get():
    y_true = ['rabbit', 'cat', 'rabbit', 'rabbit', 'cat', 'dog', 'dog', 'rabbit', 'rabbit', 'cat', 'dog', 'rabbit']
    y_pred = ['cat', 'cat', 'rabbit', 'dog', 'cat', 'rabbit', 'dog', 'cat', 'rabbit', 'cat', 'rabbit', 'rabbit']
    print("y_true: %s" % y_true)
    print("y_pred: %s" % y_pred)
    cm = ConfusionMatrix(y_true, y_pred)
    assert cm.get("cat") == cm.get("cat", "cat")
    assert cm.get("cat") == 3
    assert cm.get("dog") == 1
    assert cm.get("rabbit") == 3
    assert cm.get("dog", "rabbit") == 2
def test_pandas_confusion_cm_stats_animals():
    y_true = ['rabbit', 'cat', 'rabbit', 'rabbit', 'cat', 'dog', 'dog', 'rabbit', 'rabbit', 'cat', 'dog', 'rabbit']
    y_pred = ['cat', 'cat', 'rabbit', 'dog', 'cat', 'rabbit', 'dog', 'cat', 'rabbit', 'cat', 'rabbit', 'rabbit']
    print("y_true: %s" % y_true)
    print("y_pred: %s" % y_pred)
    cm = ConfusionMatrix(y_true, y_pred)
    assert isinstance(cm.stats(), OrderedDict)
    assert cm.population == len(y_true)  # 12
    cm.print_stats()
    cm_stats = cm.stats()  # noqa
    assert cm.binarize("cat").TP == cm.get("cat")  # cm.get("cat", "cat")
    assert cm.binarize("cat").TP == 3
    assert cm.binarize("dog").TP == cm.get("dog")  # 1
    assert cm.binarize("rabbit").TP == cm.get("rabbit")  # 3