X-Git-Url: https://git.auder.net/?p=epclust.git;a=blobdiff_plain;f=pkg%2Ftests%2Ftestthat%2Ftest-filterMA.R;fp=pkg%2Ftests%2Ftestthat%2Ftest-filterMA.R;h=19ec6fca70de132a305ecd69728f82f4c58910de;hp=0000000000000000000000000000000000000000;hb=e906736ea27105237e84c904dce6170353726292;hpb=57f337af19cd6251815bb1ff2d62f4c58e8b6078 diff --git a/pkg/tests/testthat/test-filterMA.R b/pkg/tests/testthat/test-filterMA.R new file mode 100644 index 0000000..19ec6fc --- /dev/null +++ b/pkg/tests/testthat/test-filterMA.R @@ -0,0 +1,31 @@ +context("filterMA") + +test_that("[time-]serie filtering behave as expected", +{ + # Mean of 3 values + M <- matrix(runif(1000,min=-7,max=7), ncol=10) + ref_fM <- stats::filter(M, rep(1/3,3), circular=FALSE) + fM <- epclust:::filterMA(M, 3) + + # Expect an agreement on all inner values + expect_equal(dim(fM), c(100,10)) + expect_equal(fM[2:99,], ref_fM[2:99,]) + + # Border values should be averages of 2 values + expect_equal(fM[1,], colMeans(M[1:2,])) + expect_equal(fM[100,], colMeans(M[99:100,])) + + # Mean of 5 values + ref_fM <- stats::filter(M, rep(1/5,5), circular=FALSE) + fM <- epclust:::filterMA(M, 5) + + # Expect an agreement on all inner values + expect_equal(dim(fM), c(100,10)) + expect_equal(fM[3:98,], ref_fM[3:98,]) + + # Border values should be averages of 3 or 4 values + expect_equal(fM[1,], colMeans(M[1:3,])) + expect_equal(fM[2,], colMeans(M[1:4,])) + expect_equal(fM[99,], colMeans(M[97:100,])) + expect_equal(fM[100,], colMeans(M[98:100,])) +})