Nothing
testthat::context("Units")
test_that("Creating custom units", {
id <-
c("speed", "speed", "acceleration", "acceleration", "frequency")
dimension <- c("length", "time", "length", "time", "time")
power <- c(NA, "-1", NA, "-2", "-1")
unitTypes <-
data.frame(
id = id,
dimension = dimension,
power = power,
stringsAsFactors = FALSE
)
id <- c("minute", "centimeter")
unitType <- c("time", "length")
parentSI <- c("second", "meter")
multiplierToSI <- c("0.0166", "1")
description <-
c("one minute is 60 seconds", "centimeter is a 100th of a meter")
units <-
data.frame(
id = id,
unitType = unitType,
parentSI = parentSI,
multiplierToSI = multiplierToSI,
description = description,
stringsAsFactors = FALSE
)
x <- set_unitList(units, unitTypes)
testthat::expect_is(x, "list")
testthat::expect_equal(length(x$unit), 2)
testthat::expect_equal(length(x$unitType), 3)
x <- set_unitList(units, unitTypes, as_metadata = TRUE)
testthat::expect_is(x, "list")
})
test_that("Reading default unit definitions", {
unitList <- get_unitList()
testthat::expect_equal(dim(unitList$units), c(335, 10))
# testthat::expect_equal(dim(unitList$unitTypes), c(118, 4))
testthat::expect_equal(dim(unitList$unitTypes), c(297, 4))
})
test_that("Reading custom unit definitions from EML", {
f <- system.file("tests", emld::eml_version(), "eml-datasetWithUnits.xml", package = "emld")
eml <- read_eml(f)
unitList <- get_unitList(eml)
expect_is(unitList, "list")
x <- set_unitList(unitList$units, unitList$unitTypes)
expect_is(x, "list")
## Equivalently:
additionalMetadata <- set_unitList(unitList$units,
unitList$unitTypes,
as_metadata = TRUE
)
eml <- list(additionalMetadata = additionalMetadata)
})
test_that("Ensuring standard units are not interpreted as custom units", {
r <- EML::set_attributes(
data.frame(
attributeName = "soilmoisture",
formatString = "",
unit = "percent",
numberType = "real",
attributeDefinition = "measurement of soil moisture",
stringsAsFactors = FALSE),
col_classes = "numeric")
expect_true(
!is.null(r$attribute[[1]]$measurementScale$ratio$unit$standardUnit))
expect_true(
is.null(r$attribute[[1]]$measurementScale$ratio$unit$customUnit))
})
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.