From e5c91b229f10824b95cecee6107a08a557c01f72 Mon Sep 17 00:00:00 2001 From: Lukas Schneiderbauer Date: Sat, 28 Dec 2024 09:15:17 +0100 Subject: [PATCH] add some test for wnd to inflate coverage --- R/wnd.R | 7 ++++--- tests/testthat/test-wnd.R | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 tests/testthat/test-wnd.R diff --git a/R/wnd.R b/R/wnd.R index cf9effb..b953e9b 100644 --- a/R/wnd.R +++ b/R/wnd.R @@ -17,11 +17,12 @@ wnd_from_dim <- function(n, orig_sample_freq) { ) } -#' @param secs target window length in seconds. The exact window length +#' @param time target window length in seconds or similar time units. +#' The exact window length #' depends on the original sample frequency `orig_sample_freq` #' @noRd -wnd_from_secs <- function(secs, orig_sample_freq) { - n <- round(secs * orig_sample_freq) +wnd_from_time <- function(time, orig_sample_freq) { + n <- round(ddu(time * orig_sample_freq)) wnd_from_dim(n, orig_sample_freq) } diff --git a/tests/testthat/test-wnd.R b/tests/testthat/test-wnd.R new file mode 100644 index 0000000..1c888d0 --- /dev/null +++ b/tests/testthat/test-wnd.R @@ -0,0 +1,38 @@ +test_that("wnd_from_dim works", { + w <- wnd_from_dim(10, u(10, "Hz")) + + expect_equal(w$size_n, 10) + expect_true(w$size_time == u(1, "s")) +}) + +test_that("wnd_from_sec works", { + w <- wnd_from_time(u(10, "s"), u(10, "Hz")) + + expect_equal(w$size_n, 100) + expect_true(w$size_time == u(10, "s")) +}) + + +test_that("wnd_from_resolution works", { + w <- wnd_from_resolution(u(1, "s"), u(100, "Hz")) + + expect_equal(w$size_n, 100) + expect_true(w$size_time == u(1, "s")) +}) + +test_that("wnd_from_target_size works", { + res <- + fcwt( + ts_sin_440[1:1000], + sample_freq = 44100, + freq_begin = 50, + freq_end = 1000, + n_freqs = 10, + sigma = 1 + ) + + w <- wnd_from_target_size(100, res) + + expect_equal(w$size_n, 10) + expect_true(w$size_time == 10 / u(44100, "Hz")) +})