Nothing
# (1) no mult or mult.DT, single equality
test_that("dtjoin_anti single equality", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B"))
# compare <-
# dtjoin(DF_B, DF_A, on=c("id_B == id_A"), indicate = TRUE, i.main = TRUE) |>
# data.table::setDT() |>
# _[.join==1, unique(.SD), .SDcols = names(DF_A)] |>
# data.table::setDF()
compare <-
dplyr::anti_join(DF_A, DF_B, by=dplyr::join_by(id_A == id_B), na_matches = "never")
print(result)
print(compare)
expect_identical(result, compare)
expect_identical(class(result), class(compare))
})
# (2) no mult or mult.DT, other
test_that("dtjoin_anti general", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B", "t_A > t_B"))
compare <-
dplyr::anti_join(DF_A, DF_B, by=dplyr::join_by(id_A == id_B, t_A > t_B), na_matches = "never")
print(result)
print(compare)
expect_identical(result, compare)
expect_identical(class(result), class(compare))
})
# (3) mult, with or without mult.DT
test_that("dtjoin_anti mult = \"first\"", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B"), mult = "first")
compare <-
DF_A[!DF_A$c %in% dtjoin(DF_A, DF_B, on=c("id_A == id_B"), nomatch = NULL, mult = "first")$c,]
rownames(compare) <- NULL
print(result)
print(compare)
expect_identical(result, compare)
expect_identical(class(result), class(compare))
})
# (4) mult.DT, no mult
test_that("dtjoin_anti mult.DT = \"last\"", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B"), mult.DT = "last")
compare <-
DF_A[!DF_A$c %in% dtjoin(DF_A, DF_B, on=c("id_A == id_B"), nomatch = NULL, mult.DT = "last")$c,]
rownames(compare) <- NULL
print(result)
print(compare)
expect_identical(result, compare)
expect_identical(class(result), class(compare))
})
# ------------------------------------------------------------------------------
# (1) select
test_that("dtjoin_anti single equality (select)", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B"), select = "c")
compare <-
dplyr::anti_join(DF_A, DF_B, by=dplyr::join_by(id_A == id_B), na_matches = "never") |> dplyr::select(id_A, c)
print(result)
print(compare)
expect_identical(result, compare)
})
# (2) select
test_that("dtjoin_anti general (select)", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B", "t_A > t_B"), select = "c")
compare <-
dplyr::anti_join(DF_A, DF_B, by=dplyr::join_by(id_A == id_B, t_A > t_B), na_matches = "never") |> dplyr::select(id_A, t_A, c)
print(result)
print(compare)
expect_identical(result, compare)
})
# (3) select
test_that("dtjoin_anti mult = \"first\" (select)", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B"), mult = "first", select = "c")
compare <-
DF_A[!DF_A$c %in% dtjoin(DF_A, DF_B, on=c("id_A == id_B"), nomatch = NULL, mult = "first")$c,] |> dplyr::select(id_A, c)
rownames(compare) <- NULL
print(result)
print(compare)
expect_identical(result, compare)
})
# (4) select
test_that("dtjoin_anti mult.DT = \"last\" (select)", {
result <-
dtjoin_anti(DF_A, DF_B, on=c("id_A == id_B"), mult.DT = "last", select = "c")
compare <-
DF_A[!DF_A$c %in% dtjoin(DF_A, DF_B, on=c("id_A == id_B"), nomatch = NULL, mult.DT = "last")$c,] |> dplyr::select(id_A, c)
rownames(compare) <- NULL
print(result)
print(compare)
expect_identical(result, compare)
})
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.