tests/testthat/test-group_stats.R

test_that("group_stats() works at team season level", {
  skip_on_cran()
  skip_on_ci()
  expect_equal(
    group_stats(
      teams = c("Nebraska", "UCLA"),
      level = "teamseason",
      year = 2020
    )$playerdata$Player[1],
    "Nicklin Hames"
  )
  expect_equal(
    group_stats(
      teams = "UCLA",
      year = 2020,
      level = "teamseason",
      sport = "MVB"
    )$playerdata$Player[1],
    "Kyle Vom Steeg"
  )
})

test_that("group_stats() works at team match level", {
  skip_on_cran()
  skip_on_ci()
  expect_equal(
    group_stats(teams = "Nebraska", year = 2020, level = "teammatch")$Opponent[
      1
    ],
    "@ Indiana"
  )
})

test_that("group_stats() works at player match level", {
  skip_on_cran()
  skip_on_ci()
  expect_equal(
    group_stats(teams = "Nebraska", year = 2020, level = "match")$Player[1],
    "Keonilei Akana"
  )
})

test_that("group_stats() works at pbp level", {
  skip_on_cran()
  skip_on_ci()
  expect_equal(
    group_stats(teams = "Nebraska", year = 2020, level = "pbp")$home_team[1],
    "Indiana"
  )
})

test_that("group_stats() errors trigger correctly", {
  # Test teams parameter validation
  expect_error(group_stats(), "Enter valid team name")
  expect_error(group_stats(teams = NULL), "Enter valid team name")
  expect_error(group_stats(teams = 123), "Enter valid team name")
  expect_error(
    group_stats(teams = c("Invalid Team", "Another Invalid")),
    "Enter valid team name"
  )

  # Test year parameter validation
  expect_error(
    group_stats(teams = "Nebraska"),
    "Enter valid year between 2020-"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = NULL),
    "Enter valid year between 2020-"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2019),
    "Enter valid year between 2020-"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2030),
    "Enter valid year between 2020-"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = "2024"),
    "Enter valid year between 2020-"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = c(2019, 2024)),
    "Enter valid year between 2020-"
  )

  # Test level parameter validation
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, level = "invalid"),
    "Enter valid level:"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, level = c("season", "match")),
    "Enter single value for level"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, level = 123),
    "Enter valid level:"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, level = NULL),
    "Enter valid level"
  )

  # Test unique parameter validation
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, unique = "TRUE"),
    "`unique` must be a logical"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, unique = 1),
    "`unique` must be a logical"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, unique = NULL),
    "Enter valid `unique` value"
  )

  # Test sport parameter validation
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, sport = "VB"),
    "Enter valid sport"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, sport = "WVB1"),
    "Enter valid sport"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, sport = 123),
    "Enter valid sport as a three-letter character string"
  )
  expect_error(
    group_stats(teams = "Nebraska", year = 2024, sport = NULL),
    "Enter valid `sport`"
  )
})

Try the ncaavolleyballr package in your browser

Any scripts or data that you put into this service are public.

ncaavolleyballr documentation built on Jan. 8, 2026, 1:07 a.m.