Nothing
# Copyright 2026 Rob Carnell
test_that("method of moments works", {
set.seed(103930)
x <- rtriangle(20, 0, 2, 1.5)
mom <- triangle_mom(x)
expect_equal(3, length(mom))
expect_true(mom[1] <= mom[3])
expect_true(mom[2] >= mom[3])
expect_true(mom[1] <= mom[2])
mom2 <- triangle_mom(x, type = 1)
expect_equal(mom, mom2)
mom3 <- triangle_mom(x, type = 2)
expect_equal(3, length(mom))
expect_true(mom3[1] <= mom3[3])
expect_true(mom3[2] >= mom3[3])
expect_true(mom3[1] <= mom3[2])
expect_true(abs(mean(x) -(mom3["a"] + mom3["b"] + mom3["c"])/3) < 0.1)
x <- rtriangle(20, 1, 3, 1)
mom3 <- triangle_mom(x, type = 2)
expect_equal(3, length(mom))
expect_true(mom3[1] <= mom3[3])
expect_true(mom3[2] >= mom3[3])
expect_true(mom3[1] <= mom3[2])
expect_true(abs(mean(x) -(mom3["a"] + mom3["b"] + mom3["c"])/3) < 0.1)
x <- rtriangle(20, 1, 3, 3)
mom3 <- triangle_mom(x, type = 2)
expect_equal(3, length(mom))
expect_true(mom3[1] <= mom3[3])
expect_true(mom3[2] >= mom3[3])
expect_true(mom3[1] <= mom3[2])
expect_true(abs(mean(x) -(mom3["a"] + mom3["b"] + mom3["c"])/3) < 0.1)
})
test_that("repeated mom", {
skip_on_cran()
skip_on_ci()
set.seed(1393)
b <- replicate(200, {
x <- rtriangle(100, 0, 2, 1.5)
triangle_mom(x)
})
expect_true(all(abs(apply(b, 1, mean) - c(a=0, b=2, c=1.5)) < 0.2))
set.seed(1393)
b <- replicate(200, {
x <- rtriangle(100, 0, 2, 1.5)
triangle_mom(x, type = 2)
})
expect_true(all(abs(apply(b, 1, mean) - c(a=0, b=2, c=1.5)) < 0.2))
set.seed(1393)
b <- replicate(200, {
x <- rtriangle(100, 0, 2, 2)
triangle_mom(x)
})
expect_true(all(abs(apply(b, 1, mean) - c(a=0, b=2, c=2)) < 0.2))
set.seed(1393)
b <- replicate(200, {
x <- rtriangle(100, 0, 2, 2)
triangle_mom(x, type = 2)
})
expect_true(all(abs(apply(b, 1, mean) - c(a=0, b=2, c=2)) < 0.2))
})
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.