Nothing
context("Basic Functions")
library(sf)
test_that("Test Basic Functions", {
## splitAt #####################
a <- splitAt(1:100,20)
expect_true(length(a[[1]]) == 19)
expect_false(any(is.na(unlist(a))))
expect_true(all(unlist(a) %in% 1:100))
rm(a)
a <- splitAt(as.matrix(1:100),20)
expect_true(length(a[[1]]) == 19)
expect_false(any(is.na(unlist(a))))
expect_true(all(unlist(a) %in% 1:100))
rm(a)
## isSpatial ################
## test matrix, dataframes, spatialPolygons ad simpleFeatures with and
## without projection. SimpleFeatures to sp-object create PolygonsDataFrame
xy_matrix <- rbind(c(4498482, 2668272), c(4498482, 2669343),
c(4499991, 2669343), c(4499991, 2668272))
res0 <- isSpatial(xy_matrix)
expect_true(class(res0)[1] == "sfc_POLYGON")
expect_true(is.na(st_crs(res0)))
projection <- "+init=epsg:3035"
res0 <- isSpatial(xy_matrix, projection)
expect_true(class(res0)[1] == "sfc_POLYGON")
expect_true(st_crs(res0) == st_crs(3035))
spatial_polygon <- sf::st_as_sf(sf::st_sfc(
sf::st_polygon(list(cbind(
c(4498482, 4498482, 4499991, 4499991, 4498482),
c(2668272, 2669343, 2669343, 2668272, 2668272)))),
crs = 3035
))
xy_dataframe <- st_coordinates(spatial_polygon)
res1 <- isSpatial(xy_dataframe)
expect_true(class(res1)[1] == "sfc_POLYGON")
expect_true(is.na(st_crs(res1)))
res1 <- isSpatial(xy_dataframe, projection)
expect_true(class(res1)[1] == "sfc_POLYGON")
expect_true(st_crs(res1) == st_crs(3035))
## Data.frame with Random column order (long, lat)
res1 <- isSpatial(xy_dataframe[, c(3,2,1)])
expect_true(class(res1)[1] == "sfc_POLYGON")
expect_true(is.na(st_crs(res1)))
res1 <- isSpatial(xy_dataframe[, c(3,2,1)], projection)
expect_true(class(res1)[1] == "sfc_POLYGON")
expect_true(st_crs(res1) == st_crs(3035))
## with y/x
coords_df <- cbind(xy_dataframe[, 2], xy_dataframe[, 1])
colnames(coords_df) <- c("Y_Coords", "XX_Coords")
res12 <- isSpatial(coords_df)
expect_true(class(res12)[1] == "sfc_POLYGON")
coords_df <- cbind(xy_dataframe[, 1], xy_dataframe[, 2])
colnames(coords_df) <- c("X____", "y_")
res12 <- isSpatial(coords_df)
expect_true(class(res12)[1] == "sfc_POLYGON")
colnames(coords_df) <- c("asd","fasf")
res12 <- isSpatial(coords_df)
expect_true(class(res12)[1] == "sfc_POLYGON")
## Simple Feature
simple_feature <- sf::st_as_sf(spatial_polygon)
res2 <- isSpatial(simple_feature, projection)
expect_true(class(res2)[1] == "sf")
expect_true(all.equal(st_crs(res2), st_crs(res0)))
## windata_format #############
wind_df <- data.frame(ws = c(12, 30, 45),
wd = c(0, 90, 150),
probab = 30:32)
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_true(all(a[[1]][, "ws"] == wind_df$ws))
expect_true(all(a[[1]][, "wd"] == unique(wind_df$wd)))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- data.frame(speed = c(12, 30, 45),
direction = c(90, 90, 150)
,probab = c(10, 20, 60)
)
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_true(all(a[[1]][, "ws"] == wind_df$ws))
expect_true(all(a[[1]][, "wd"] == unique(wind_df$wd)))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- data.frame(speed = c(12, 30, 45, 40),
direction = c(92, 90, 94, 95)
,probab = c(10, 20, 140, 10)
)
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_false(all(a[[1]][, "ws"] == wind_df$speed))
expect_false(all(a[[1]][, "wd"] == unique(wind_df$direction)))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- data.frame(speed = c(12, 30, 45),
direction = c(400, 90, 150)
)
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_false(all(a[[1]][, "ws"] == wind_df$speed))
expect_false(all(a[[1]][, "wd"] == unique(wind_df$direction)))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- data.frame(speed = c(12, 30, 45),
direction = c(90, 90, 150)
)
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_false(all(a[[1]][, "ws"] %in% wind_df$speed))
expect_true(all(a[[1]][, "wd"] %in% unique(wind_df$direction)))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- data.frame(c(12, 30, 45),
c(0, 90, 150))
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_true(all(a[[1]][, "ws"] == wind_df[, 1]))
expect_true(all(a[[1]][, "wd"] %in% unique(wind_df[, 2])))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- data.frame(c(12, 30, 45),
c(0, 90, 150),
c(10, 20, 70))
wind_df <- as.matrix(wind_df)
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_true(all(a[[1]][, "ws"] == wind_df[, 1]))
expect_true(all(a[[1]][, "wd"] %in% unique(wind_df[, 2])))
expect_true(all(a[[1]][, "probab"] %in% unique(wind_df[, 3])))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- data.frame(c(12, 30, 45),
c(0, 90, 150),
c(10, 20, 140))
wind_df <- as.matrix(wind_df)
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_true(all(a[[1]][, "ws"] == wind_df[,1]))
expect_true(all(a[[1]][, "wd"] %in% unique(wind_df[, 2])))
expect_false(all(a[[1]][, "probab"] %in% unique(wind_df[, 3])))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
colnames(wind_df) <- NULL
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_true(all(a[[1]][, "ws"] == wind_df[, 1]))
expect_true(all(a[[1]][, "wd"] %in% unique(wind_df[, 2])))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
wind_df <- wind_df[,1:2]
a <- windata_format(wind_df)
expect_false(all(sapply(a, anyNA)))
expect_false(any(a[[1]][, "wd"] > 360))
expect_true(all(a[[1]][, "ws"] == wind_df[, 1]))
expect_true(all(a[[1]][, "wd"] %in% unique(wind_df[, 2])))
expect_false(any(duplicated(a[[1]][, "wd"])))
expect_true(sum(a[[2]]) == 100)
})
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.