# tests/testthat/test_tauStarTest.R In TauStar: Efficient Computation and Testing of the Bergsma-Dassios Sign Covariance

```library(TauStar)
context("Testing the tauStarTest functionality.")

test_that("tauStarTest with continuous data.", {
set.seed(238)
sims = 5
n = 100
for (i in 1:sims) {
x = rnorm(n)
y = rnorm(n)
tval = tStar(x, y)
a = tauStarTest(x, y, mode = "continuous")
expect_equal(a\$x, x)
expect_equal(a\$y, y)
expect_equal(a\$tStar, tval)
expect_equal(a\$pVal, 1 - pHoeffInd(n * tval))
expect_equal(a\$mode, "continuous")
}

x = rnorm(n)
y = rnorm(n)
tval = tStar(x, y)
a = tauStarTest(x, y)
expect_equal(a\$x, x)
expect_equal(a\$y, y)
expect_equal(a\$tStar, tval)
expect_equal(a\$pVal, 1 - pHoeffInd(n * tval))
expect_equal(a\$mode, "continuous")

expect_error(tauStarTest(rnorm(10), rnorm(9)))
})

test_that("tauStarTest with discrete data.", {
set.seed(238)
sims = 10
n = 2000
for (i in 1:sims) {
p = runif(sample(1:6, 1))
p = p / sum(p)
q = runif(sample(1:6, 1))
q = q / sum(q)
x = sample(length(p), n, replace = T, prob = p)
y = sample(length(q), n, replace = T, prob = q)
tval = tStar(x, y)
a = tauStarTest(x, y, mode = "discrete")
expect_equal(a\$x, x)
expect_equal(a\$y, y)
expect_equal(a\$tStar, tval)
expect_true(abs(a\$pVal - (1 - pDisHoeffInd(n * tval, p, q))) <= 10^-2)
expect_equal(a\$mode, "discrete")
}

p = runif(sample(1:6, 1))
p = p / sum(p)
q = runif(sample(1:6, 1))
q = q / sum(q)
x = sample(length(p), n, replace = T, prob = p)
y = sample(length(q), n, replace = T, prob = q)
tval = tStar(x, y)
a = tauStarTest(x, y)
expect_equal(a\$x, x)
expect_equal(a\$y, y)
expect_equal(a\$tStar, tval)
expect_true(abs(a\$pVal - (1 - pDisHoeffInd(n * tval, p, q))) <= 10^-2)
expect_equal(a\$mode, "discrete")

expect_error(tauStarTest(rnorm(10), rnorm(9), mode="discrete"))
})

test_that("tauStarTest with mixed data.", {
suppressWarnings(RNGversion("3.5.0"))
set.seed(238)
sims = 10
n = 200
for (i in 1:sims) {
p = runif(sample(1:6, 1))
p = p / sum(p)
if (sample(c(T,F), 1)) {
x = sample(length(p), n, replace = T, prob = p)
y = rnorm(n)
} else {
y = sample(length(p), n, replace = T, prob = p)
x = rnorm(n)
}
tval = tStar(x, y)
a = tauStarTest(x, y, mode = "mixed")
expect_equal(a\$x, x)
expect_equal(a\$y, y)
expect_equal(a\$tStar, tval)
expect_true(abs(a\$pVal - (1 - pMixHoeffInd(n * tval, p))) <= 10^-2)
expect_equal(a\$mode, "mixed")
}

p = runif(sample(1:6, 1))
p = p / sum(p)
x = sample(length(p), n, replace = T, prob = p)
y = rnorm(n)
tval = tStar(x, y)
a = tauStarTest(x, y, mode = "auto")
expect_equal(a\$x, x)
expect_equal(a\$y, y)
expect_equal(a\$tStar, tval)
expect_true(abs(a\$pVal - (1 - pMixHoeffInd(n * tval, p))) <= 10^-2)
expect_equal(a\$mode, "mixed")

x = rnorm(n)
expect_warning(tauStarTest(x, y, mode = "mixed"))

expect_error(tauStarTest(rnorm(10), rnorm(9), mode = "mixed"))
expect_error(tauStarTest(c(1,2,3,4,1), c(1,2,3,4,1), mode = "mixed"))
})

test_that("tauStarTest with a permutation test.", {
set.seed(238)
sims = 10
n = 50
resamples = 123
for (i in 1:sims) {
x = rnorm(n)
y = rnorm(n)
tval = tStar(x, y)
a = tauStarTest(x, y, mode = "permutation", resamples = resamples)
expect_equal(a\$x, x)
expect_equal(a\$y, y)
expect_equal(a\$tStar, tval)
expect_true(!is.null(a\$pVal))
expect_equal(a\$resamples, resamples)
expect_equal(a\$mode, "permutation")
}

expect_error(tauStarTest(rnorm(10), rnorm(9), mode = "permutation"))
})
```

## Try the TauStar package in your browser

Any scripts or data that you put into this service are public.

TauStar documentation built on May 1, 2019, 9:59 p.m.