def my_test_3():
    """
    Try passing multiple index definitions in table definition. Should pass.
    """
    print_test_separator("Starting my_test_3")
    print(
        "##### Try passing multiple index definitions in table definition. Should pass.\n"
    )
    cleanup()

    cat = CSVCatalog.CSVCatalog()
    cds = []
    cds.append(CSVCatalog.ColumnDefinition("playerID", "text", True))
    cds.append(CSVCatalog.ColumnDefinition("nameLast", "text", True))
    cds.append(CSVCatalog.ColumnDefinition("nameFirst", column_type="text"))

    ids = []
    ## TODO test this?
    # ids.append(CSVCatalog.IndexDefinition("PRIMARY", "PRIMARY", ["playerID"]))
    # ids.append(CSVCatalog.IndexDefinition("my_idx", "INDEX", ["playerID"]))
    ids.append(CSVCatalog.IndexDefinition("PRIMARY", "PRIMARY", ["playerID"]))
    ids.append(
        CSVCatalog.IndexDefinition("my_idx", "INDEX",
                                   ["nameLast", "nameFirst"]))
    t = cat.create_table("people", "data/People.csv", cds, ids)
    print("People table", json.dumps(t.describe_table(), indent=2))
    print("\n##### Expected result: pass")
    print_test_separator("Complete my_test_3")
def test_index_def_to_json():
    print("\n*********** Testing index def to JSON. *******************\n")

    cds = []
    cds.append(CSVCatalog.ColumnDefinition('teamID', 'text', True))
    cds.append(CSVCatalog.ColumnDefinition('yearID', 'text', True))
    ind = CSVCatalog.IndexDefinition('INDEX_teamID_yearID', cds, "PRIMARY");
    print(ind.to_json());