Nothing
# PDF ----
test_that("Triangular PDF", {
## Riemann sum:
delta <- 0.1
x <- seq(0, 14, by = delta)
y <- dtri(x, mode = 8, upper = 13, lower = 1)
out <- delta * sum(y)
expect_equal(out, 1)
})
test_that("Triangular PDF (error 1)", {
## Lower > upper
expect_error(dtri(8, mode = 8, upper = 13, lower = 14))
})
test_that("Triangular PDF (error 2)", {
## Mode > upper
expect_error(dtri(8, mode = 14, upper = 13, lower = 1))
})
test_that("Triangular PDF (error 3)", {
## Mode < lower
expect_error(dtri(8, mode = 0, upper = 13, lower = 1))
})
# PDF ----
test_that("Triangular CDF", {
pdf_vals <- ptri(c(0, 1, 3, 9, 10), mode = 3, upper=9, lower = 1)
pdf_expected <- c(0.00, 0.00, 0.25, 1.00, 1.00)
out <- all(pdf_expected == pdf_vals)
expect_true(out)
})
test_that("Triangular CDF (errors)", {
## Lower > upper
expect_error(ptri(8, mode = 8, upper = 13, lower = 14))
## Mode > upper
expect_error(ptri(8, mode = 14, upper = 13, lower = 1))
## Mode < lower
expect_error(ptri(8, mode = 0, upper = 13, lower = 1))
})
# Quantiles ----
test_that("Triangular Quantiles", {
quant <- qtri(c(0, 0.5, 1), mode = 5, upper=9, lower = 1)
quant_expected <- c(1, 5, 9)
out <- all(quant_expected == quant)
expect_true(out)
})
test_that("Triangular Quantiles (errors)", {
## Lower > upper
expect_error(qtri(8, mode = 8, upper = 13, lower = 14))
## Mode > upper
expect_error(qtri(8, mode = 14, upper = 13, lower = 1))
## Mode < lower
expect_error(qtri(8, mode = 0, upper = 13, lower = 1))
})
# Random samples ----
test_that("Triangular Samples", {
set.seed(666)
trisamples <- rtri(1e4, mode = 2, upper = 9, lower = 1)
sample_median <- median(trisamples)
median <- 9 - sqrt(28)
diff <- abs(sample_median - median)
testthat::expect_true(diff < 0.04)
})
test_that("Triangular Samples (errors)", {
## Lower > upper
expect_error(rtri(10, mode = 8, upper = 13, lower = 14))
## Mode > upper
expect_error(rtri(10, mode = 14, upper = 13, lower = 1))
## Mode < lower
expect_error(rtri(10, mode = 0, upper = 13, lower = 1))
})
# library(testthat)
#
#
# plot(\(x) dtri(x, mode=8, upper=13, lower=1), 0, 14)
# ptri(c(0, 1, 2, 3, 5, 7, 9, 10), mode = 3, upper=9, lower = 1)
# qtri(c(0.1, 0.3, 0.5, 0.9, 0.95), mode = 3, upper = 9, lower = 1)
# rtri(30, mode = 5, sigma = 3)
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.