x1 <- c(rep(0, 5), 1,1,1, 20, 40, 20, 1, 1, 1, rep(0, 5))
x2 <- c(rep(0, 6), 1,1,1, 20, 40, 20, 1, 1, 1, rep(0, 4))
time <- 1:length(x1)
library(ptw)
w1b <- ptw(ref = x1, samp = x2, mode = "backward")
x2wb <- predict(w1b, x2, what = "response")
stopifnot(sum(abs(x2wb - w1b$warped.sample), na.rm = TRUE) < 1E-8)
t2wb <- as.numeric(predict(w1b, time, what = "time"))
stopifnot(sum(abs(tail(t2wb, -1) - head(time, -1)), na.rm = TRUE) < 0.05)

w1f <- ptw(ref = x1, samp = x2, mode = "forward")
x2wf <- predict(w1f, x2, what = "response")
stopifnot(sum(abs(x2wf - w1f$warped.sample), na.rm = TRUE) < 1E-8)
t2wf <- as.numeric(predict(w1f, time, what = "time"))
stopifnot(sum(abs(tail(t2wf, -1) - head(time, -1)), na.rm = TRUE) < 0.05)

