Skip to content

Commit 83903b1

Browse files
committed
Use testthat checks for classes
1 parent a6da79e commit 83903b1

File tree

3 files changed

+21
-18
lines changed

3 files changed

+21
-18
lines changed

tests/testthat/test_postgis_RPostgres.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ test_that("can read using driver", {
357357
RPostgres::Postgres(),
358358
host = "localhost",
359359
dbname = "empty"),
360-
silent=TRUE
360+
silent = TRUE
361361
)
362362
skip_if_not(
363363
can_con(empty),

tests/testthat/test_sf.R

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ test_that("we can create points sf from data.frame", {
2323
meuse_sf = st_as_sf(meuse, coords = c("x", "y"), crs = 28992)
2424
meuse_sf[1:5,]
2525
summary(meuse_sf[1:5,])
26-
expect_identical(class(meuse_sf), c("sf", "data.frame"))
26+
expect_s3_class(meuse_sf, c("sf", "data.frame"), exact = TRUE)
2727
})
2828

2929
test_that("st_zm works", {
@@ -69,14 +69,14 @@ test_that("st_as_sf bulk points work", {
6969
xyz_sf = st_as_sf(x, coords = c("y", "x", "dist"))
7070
xym_sf = st_as_sf(x, coords = c("y", "x", "dist"), dim = "XYM")
7171
xyzm_sf = st_as_sf(x, coords = c("x", "y", "dist", "zinc"), dim = "XYZM")
72-
expect_identical(class(meuse_sf), c("sf", "data.frame"))
73-
expect_identical(class(xyz_sf), c("sf", "data.frame"))
74-
expect_identical(class(xym_sf), c("sf", "data.frame"))
75-
expect_identical(class(xyzm_sf), c("sf", "data.frame"))
76-
expect_length(unclass(st_geometry(meuse_sf)[[1]]), 2L)
77-
expect_length(unclass(st_geometry(xyz_sf)[[1]]), 3L)
78-
expect_length(unclass(st_geometry(xym_sf)[[1]]), 3L)
79-
expect_length(unclass(st_geometry(xyzm_sf)[[1]]), 4L)
72+
expect_s3_class(meuse_sf, c("sf", "data.frame"), exact = TRUE)
73+
expect_s3_class(xyz_sf, c("sf", "data.frame"), exact = TRUE)
74+
expect_s3_class(xym_sf, c("sf", "data.frame"), exact = TRUE)
75+
expect_s3_class(xyzm_sf, c("sf", "data.frame"), exact = TRUE)
76+
expect_length(st_geometry(meuse_sf)[[1]], 2L)
77+
expect_length(st_geometry(xyz_sf)[[1]], 3L)
78+
expect_length(st_geometry(xym_sf)[[1]], 3L)
79+
expect_length(st_geometry(xyzm_sf)[[1]], 4L)
8080

8181

8282
})
@@ -86,7 +86,7 @@ test_that("transform work", {
8686
data(meuse, package = "sp")
8787
x = st_as_sf(meuse, coords = c("x", "y"), crs = 28992)
8888
x2 = transform(x, elev2 = elev^2, lead_zinc = lead/zinc)
89-
expect_s3_class(x, 'sf')
89+
expect_s3_class(x, "sf")
9090
expect_identical(class(x2), class(x))
9191
expect_identical(st_bbox(x), st_bbox(x))
9292
expect_identical(st_crs(x), st_crs(x))
@@ -97,10 +97,10 @@ test_that("empty agr attribute is named after subset", {
9797
sf = st_sf(data.frame(x = st_sfc(st_point(1:2))))
9898
out = sf[, "geometry"]
9999
agr = attr(out, "agr")
100-
expect_identical(names(agr), character())
100+
expect_named(agr, character())
101101
})
102102
test_that("duplicated work",{
103103
sf = st_sf(data.frame(x = st_sfc(st_point(1:2))[rep(1,4)], a=gl(2,2), b=as.numeric(gl(2,2))))
104104
expect_identical(duplicated(sf), c(FALSE,TRUE,FALSE,TRUE))
105-
expect_s3_class(unique(sf),'sf')
105+
expect_s3_class(unique(sf), "sf")
106106
})

tests/testthat/test_sp.R

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@ test_that("we can convert points & lines to and from sp objects", {
66
sp = as(s1, "Spatial")
77
s2 = st_as_sf(sp)
88
# expect_identical(s1, s2) -> name differences
9-
expect_identical(class(st_geometry(s2)), c("sfc_POINT", "sfc")) #-> name differences
9+
expect_s3_class(st_geometry(s2), c("sfc_POINT", "sfc"), exact = TRUE) #-> name differences
10+
1011
l = st_linestring(matrix(1:6,3))
1112
l1 = st_sf(a = 1, geom = st_sfc(l))
1213
sp_l = as(l1, "Spatial")
13-
expect_identical(class(sp_l)[[1]], "SpatialLinesDataFrame") #-> name differences
14+
expect_s4_class(sp_l, "SpatialLinesDataFrame") #-> name differences
15+
1416
l2 = st_as_sf(sp_l)
15-
expect_identical(class(st_geometry(l2)), c("sfc_LINESTRING", "sfc")) #-> name differences
17+
expect_s3_class(st_geometry(l2), c("sfc_LINESTRING", "sfc"), exact = TRUE) #-> name differences
1618
# test multilinestring -> sp
1719
l = st_multilinestring(list(matrix(1:6,3), matrix(11:16,3), matrix(21:26,3)))
1820
l1 = st_sf(a = 1, geom = st_sfc(l))
1921
sp_l = as(l1, "Spatial")
20-
expect_identical(class(sp_l)[[1]], "SpatialLinesDataFrame") #-> name differences
22+
expect_s4_class(sp_l, "SpatialLinesDataFrame") #-> name differences
23+
2124
l2 = st_as_sf(sp_l)
22-
expect_identical(class(st_geometry(l2)), c("sfc_MULTILINESTRING", "sfc")) #-> name differences
25+
expect_s3_class(st_geometry(l2), c("sfc_MULTILINESTRING", "sfc"), exact = TRUE) #-> name differences
2326
})
2427

2528
test_that("we can convert SpatialPolygons objects without SF comments to sfc and back", {

0 commit comments

Comments
 (0)