context("Testing class MultiMediaObject")
# Make a list with random arguments for all fields in the class
args <- list()
args[["sourceSystem"]] <- SourceSystem$new()
args[["sourceSystemId"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["recordURI"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["id"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["sourceInstitutionID"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["sourceID"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["owner"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["licenseType"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["license"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["unitID"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["collectionType"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["title"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["caption"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["description"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
randomList <- lapply(
1:sample(1:10, 1),
function(x) ServiceAccessPoint$new()
)
args[["serviceAccessPoints"]] <- randomList
args[["type"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["taxonCount"]] <- sample(0:10, 1)
args[["creator"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["copyrightText"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["associatedSpecimenReference"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["associatedTaxonReference"]] <- paste(sample(
c(LETTERS, letters),
sample(1:20, 1)
), collapse = "")
args[["multiMediaPublic"]] <- sample(c(TRUE, FALSE), 1)
randomList <- lapply(
1:sample(5:10, 1),
function(x) paste(sample(letters, sample(1:10, 1)), collapse = "")
)
args[["subjectParts"]] <- randomList
randomList <- lapply(
1:sample(5:10, 1),
function(x) paste(sample(letters, sample(1:10, 1)), collapse = "")
)
args[["subjectOrientations"]] <- randomList
randomList <- lapply(
1:sample(5:10, 1),
function(x) paste(sample(letters, sample(1:10, 1)), collapse = "")
)
args[["phasesOrStages"]] <- randomList
randomList <- lapply(
1:sample(5:10, 1),
function(x) paste(sample(letters, sample(1:10, 1)), collapse = "")
)
args[["sexes"]] <- randomList
randomList <- lapply(
1:sample(1:10, 1),
function(x) MultiMediaGatheringEvent$new()
)
args[["gatheringEvents"]] <- randomList
randomList <- lapply(
1:sample(1:10, 1),
function(x) MultiMediaContentIdentification$new()
)
args[["identifications"]] <- randomList
randomList <- lapply(
1:sample(5:10, 1),
function(x) paste(sample(letters, sample(1:10, 1)), collapse = "")
)
args[["theme"]] <- randomList
args[["associatedSpecimen"]] <- Specimen$new()
args[["associatedTaxon"]] <- Taxon$new()
# make MultiMediaObject object without and with args
objEmpty <- MultiMediaObject$new()
objRand <- do.call(MultiMediaObject$new, args)
test_that("Constructor works", {
expect_is(objEmpty, "MultiMediaObject")
expect_is(objRand, "MultiMediaObject")
})
test_that("toList works", {
expect_is(objEmpty$toList(), "list")
expect_is(objRand$toList(), "list")
})
test_that("fromList works", {
obj <- MultiMediaObject$new()
obj$fromList(objRand$toList())
# expect_equal(obj, objRand)
expect_is(obj, "MultiMediaObject")
})
test_that("toJSONString works", {
expect_is(objEmpty$toJSONString(), "json")
expect_true(objEmpty$toJSONString() != "")
expect_is(objRand$toJSONString(), "json")
expect_true(objRand$toJSONString() != "")
})
test_that("fromJSONString works", {
obj <- MultiMediaObject$new()
obj$fromJSONString(objRand$toJSONString())
# expect_equal(obj, objRand)
expect_is(obj, "MultiMediaObject")
})
test_that("print works", {
obj <- MultiMediaObject$new()
obj$fromJSONString(objRand$toJSONString())
## check that the print method doesn't error
expect_error(obj$print(), NA)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.