def METHOD_NAME(self):
    # SAME TEST AS OTHER SPLITTERS
    X = pd.DataFrame(np.random.uniform(low=0.0, high=100, size=(25, 10)))
    y = pd.Series(np.random.uniform(low=0.0, high=100, size=(25,)))
    splitter = LeaveOutTwinCV(threshold=0, auto_threshold=True)
    model = SklearnModel(model='LinearRegression')
    splitter.evaluate(X=X, y=y, models=[model], groups=None, savepath=os.getcwd(), plots=list())
    for d in splitter.splitdirs:
        self.assertTrue(os.path.exists(d))
        shutil.rmtree(d)
    # Setup to check exact twins
    splitter = LeaveOutTwinCV(threshold=0, auto_threshold=True)
    model = SklearnModel(model='LinearRegression')
    n_datapoints = 25
    n_features = 5
    # CASE 1: every datapoint is an exact twin, twins in both X and y
    X = pd.DataFrame(np.random.choice(range(-n_features*n_datapoints, n_features*n_datapoints), size=(n_datapoints, n_features), replace=False))  # This generates random numbers without repetitions
    # Pull out last row to be y
    y = X[n_features-1]
    X.drop(columns=n_features-1, inplace=True)
    # Create duplicates
    X = X.append(X.copy(), ignore_index=True)
    y = y.append(y.copy(), ignore_index=True)
    ret = splitter.split(X, y)
    numTwins = n_datapoints * 2
    for r in ret:
        self.assertTrue(len(r[0]) == numTwins or len(r[1]) == numTwins)  # check that everything was counted as a twin in each split
    # CASE 2: half datapoint is an exact twin, twins in both X and y
    X = pd.DataFrame(np.random.choice(range(-n_features*n_datapoints, n_features*n_datapoints), size=(n_datapoints, n_features), replace=False))
    y = X[n_features-1]
    X.drop(columns=n_features-1, inplace=True)
    X = X.append(X[0:int(n_datapoints/2)].copy(), ignore_index=True)
    y = y.append(y[0:int(n_datapoints/2)].copy(), ignore_index=True)
    ret = splitter.split(X, y)
    numTwins = int(n_datapoints/2)*2
    for r in ret:
        self.assertTrue(len(r[0]) == numTwins or len(r[1]) == numTwins)  # check correct number of twins
    # Setup to check twins generated by sci kit learn blobs
    splitter = LeaveOutTwinCV(threshold=2, debug=False, ceiling=1, auto_threshold=True)
    model = SklearnModel(model='LinearRegression')
    n_datapoints = 25
    n_features = 5
    cen = []
    for i in range(3):
        for j in range(3):
            cen.append((i*10, j*10))
    v = sk.make_blobs(n_samples=100, n_features=2, centers=cen, cluster_std=.1, shuffle=True, random_state=None)
    X = pd.DataFrame(v[0])
    y = pd.DataFrame(np.random.choice(range(-500, 500), size=(100, 1), replace=False))
    ret = splitter.split(X, y)
    numTwins = 100
    for r in ret:
        self.assertTrue(len(r[0]) == numTwins or len(r[1]) == numTwins)
    # plt.scatter(v[0][:, 0], v[0][:, 1], c=v[1])
    # plt.savefig("./test.png")
    # self.assertTrue(False, msg="In Progress")
    return