Nothing
coordinates <- matrix(c(-123.3656, -123.3657, -123.3658, 48.4284, 48.4285, 48.4286), ncol = 2)
priority <- 1:3
test_that("precision_thinning basic functionality with single trial", {
result <- precision_thinning(coordinates)
expect_true(is.logical(result[[1]]))
expect_equal(length(result[[1]]), nrow(coordinates))
})
test_that("precision_thinning handles different precisions", {
# Precision = 4
result_4 <- precision_thinning(coordinates, precision = 3, priority = priority)
expect_equal(sum(result_4[[1]]), 2)
# Precision = 2
result_3 <- precision_thinning(coordinates, precision = 2)
expect_equal(sum(result_3[[1]]), 1)
})
test_that("precision_thinning returns multiple trials correctly", {
result <- precision_thinning(coordinates, trials = 5, all_trials = TRUE)
expect_equal(length(result), 5)
expect_true(all(sapply(result, is.logical)))
})
test_that("precision_thinning handles identical coordinates", {
coordinates <- matrix(c(-123.3656, -123.3656, -123.3656, 48.4284, 48.4284, 48.4284), ncol = 2)
result <- precision_thinning(coordinates, precision = 4)
expect_equal(sum(result[[1]]), 1)
})
test_that("precision_thinning validates input parameters", {
expect_error(precision_thinning(coordinates, precision = -1), "`precision` must be a non-negative integer.")
})
test_that("precision_thinning provides consistent results with fixed seed", {
set.seed(42)
result1 <- precision_thinning(coordinates, trials = 1, all_trials = FALSE)
set.seed(42)
result2 <- precision_thinning(coordinates, trials = 1, all_trials = FALSE)
expect_equal(result1, result2)
})
test_that("precision_thinning handles a single coordinate", {
coordinates <- matrix(c(-123.3656, 48.4284), ncol = 2)
result <- precision_thinning(coordinates)
expect_equal(length(result[[1]]), 1)
expect_true(result[[1]])
})
test_that("precision_thinning with wrongly formated priority", {
expect_error(precision_thinning(coordinates, precision = 2, priority = 1), "'priority' must be a numeric vector with same length as number of points.")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.