1context("Munch") 2 3test_that("interp works", { 4 single_interp_test <- function(start, end, n) { 5 i <- interp(start, end, n) 6 info <- paste0("start: ", start, "; end: ", end, "; n: ", n) 7 expect_equal(length(i), n, info = info) 8 expect_true(start %in% i, info = info) 9 expect_false(end %in% i, info = info) 10 expect_true(all(i >= start), info = info) 11 expect_true(all(i <= end), info = info) 12 } 13 single_interp_test(0, 1, 1) 14 single_interp_test(0, 1, 2) 15 single_interp_test(0, 1, 7) 16 single_interp_test(-23, 56, 1) 17 single_interp_test(-23, 56, 4) 18 single_interp_test(31.276, 34.443, 1) 19 single_interp_test(31.276, 34.443, 100) 20}) 21 22test_that("munch_data works", { 23 single_munch_test <- function(data, dist=NULL, segment_length = 0.01) { 24 md <- munch_data(data, dist, segment_length) 25 # all rows of dat are in md 26 expect_equal(nrow(merge(md, dat)), nrow(dat)) 27 expect_true(nrow(md) >= nrow(dat)) 28 } 29 dat <- data_frame(x = c(0, 60, 30, 20, 40, 45), 30 y = c(1, 1, 2, 2, 2, 2), 31 group = c(1L, 1L, 1L, 2L, 2L, 2L)) 32 dist <- dist_euclidean(dat$x, dat$y) 33 dist[dat$group[-1] != dat$group[-nrow(dat)]] <- NA 34 single_munch_test(dat, dist) 35 single_munch_test(dat, dist, segment_length = 10) 36 single_munch_test(dat, dist, segment_length = 100) 37 dist <- coord_polar(theta = "x")$distance(dat$x, dat$y, 38 list(r.range = range(c(0,dat$y)), 39 theta.range = range(dat$x))) 40 dist[dat$group[-1] != dat$group[-nrow(dat)]] <- NA 41 single_munch_test(dat, dist) 42 single_munch_test(dat, dist, segment_length = 10) 43 single_munch_test(dat, dist, segment_length = 100) 44 dist <- coord_polar(theta = "y")$distance(dat$x, dat$y, 45 list(r.range = range(c(0,dat$x)), 46 theta.range = range(dat$y))) 47 dist[dat$group[-1] != dat$group[-nrow(dat)]] <- NA 48 single_munch_test(dat, dist) 49 single_munch_test(dat, dist, segment_length = 10) 50 single_munch_test(dat, dist, segment_length = 100) 51}) 52