tests/testthat/test-utils.GRiwrm.R

nodes <- loadSevernNodes()
nodes <- rbind(nodes,
               data.frame(id = "54032", down = "54002", length = 30, area = NA, model = "Diversion"))
g <- CreateGRiwrm(nodes)

test_that("isNodeDownstream works", {
  expect_true(isNodeDownstream(g, "54095", "54057"))
  expect_true(isNodeDownstream(g, "54032", "54002"))
  expect_true(isNodeDownstream(g, "54029", "54002"))
  expect_false(isNodeDownstream(g, "54095", "54029"))
})

test_that("isNodeupstream works", {
  expect_true(isNodeUpstream(g, "54057", "54095"))
  expect_true(isNodeUpstream(g, "54002", "54032"))
  expect_true(isNodeUpstream(g, "54002", "54029"))
  expect_false(isNodeUpstream(g, "54029", "54095"))
})

test_that("Ungauged clusters are processed when all upstream nodes are processed", {
  g <- CreateGRiwrm(read.csv(test_path("test-utils.GRiwrm_issue_149.csv")))
  expect_equal(getNodeRanking(g), c("G1", "U1", "G2", "U2", "U3", "G3"))
})

test_that("IsNodeDownstream works through a derivation", {
  g <- getGriwrmDerivedReservoirUngauged(TRUE)
  expect_true(isNodeDownstream(g, "54095", "54029"))
})
inrae/airGRiwrm documentation built on Sept. 27, 2024, 6:08 p.m.