def METHOD_NAME(self):
    cr = PipelineElement("ConfounderRemoval", {}, standardize_covariates=False)
    cr.fit(self.z[:, 1:3], self.z[:, 0], **{'confounder': self.z[:, 3]})
    # use transform to write data to cache
    z_transformed = cr.transform(self.z[:, 1:3], **{'confounder': self.z[:,3]})
    corr = np.corrcoef(np.concatenate([self.z[:, 0].reshape(-1, 1), z_transformed[0],
                                       self.z[:, 3].reshape(-1, 1)], axis=1), rowvar=False)
    # correlation between target and feature should be lower than 0.25 in this case
    # correlation between covariate and feature should be near zero
    self.assertLess(corr[1, 0], 0.3)
    self.assertLess(corr[2, 0], 0.3)
    self.assertAlmostEqual(corr[3, 1], 0)
    self.assertAlmostEqual(corr[3, 2], 0)