# test_ISOFeatureAttribute.R # Author: Emmanuel Blondel # # Description: Unit tests for ISOFeatureAttribute.R #======================= require(geometa, quietly = TRUE) require(testthat) context("ISOFeatureAttribute") test_that("encoding",{ testthat::skip_on_cran() #encoding md <- ISOFeatureAttribute$new() md$setMemberName("name") md$setDefinition("definition") md$setCardinality(lower=1,upper=1) md$setCode("code") gml <- GMLBaseUnit$new(id = "ID") gml$setDescriptionReference("someref") gml$setIdentifier("identifier", "codespace") gml$addName("name1", "codespace") gml$addName("name2", "codespace") gml$setQuantityTypeReference("someref") gml$setCatalogSymbol("symbol") gml$setUnitsSystem("somelink") md$setValueMeasurementUnit(gml) md$setValueType("typeName") expect_is(md, "ISOFeatureAttribute") xml <- md$encode() expect_is(xml, "XMLInternalNode") #decoding md2 <- ISOFeatureAttribute$new(xml = xml) xml2 <- md2$encode() expect_true(ISOAbstractObject$compare(md, md2, "xml")) }) test_that("encoding - i18n",{ testthat::skip_on_cran() #encoding md <- ISOFeatureAttribute$new() md$setMemberName("name") md$setDefinition( "description", locales = list( EN = "the description", FR = "la description", ES = "la descripción", AR = "الوصف", RU = "описание", ZH = "描述" ) ) md$setCardinality(lower=1,upper=1) md$setCode("code") gml <- GMLBaseUnit$new(id = "ID") gml$setDescriptionReference("someref") gml$setIdentifier("identifier", "codespace") gml$addName("name1", "codespace") gml$addName("name2", "codespace") gml$setQuantityTypeReference("someref") gml$setCatalogSymbol("symbol") gml$setUnitsSystem("somelink") md$setValueMeasurementUnit(gml) md$setValueType("typeName") expect_is(md, "ISOFeatureAttribute") xml <- md$encode() expect_is(xml, "XMLInternalNode") #decoding md2 <- ISOFeatureAttribute$new(xml = xml) xml2 <- md2$encode() expect_true(ISOAbstractObject$compare(md, md2, "xml")) })