tests/testthat/test.ena.plot.set.R

# suppressMessages(library(rENA, quietly = F, verbose = F))
# context("Test plotting sets")

# data(RS.data)
# codenames <- c("Data", "Technical.Constraints", "Performance.Parameters",
#   "Client.and.Consultant.Requests", "Design.Reasoning", "Collaboration");

# accum <- rENA:::ena.accumulate.data.file(
#   RS.data, units.by = c("UserName", "Condition"),
#   conversations.by = c("ActivityNumber", "GroupName"),
#   codes = codenames
# );
# test_that("Test for top-level plot object", {
#   set <- ena.make.set(accum)

#   testthat::expect_null(set$model$plots)
#   testthat::expect_is(set$plots, "list")
# })
# test_that("Create a plot object", {
#   set <- ena.make.set(accum)

#   newplot <- plot(set)

#   testthat::expect_is(newplot, "ena.set")
#   testthat::expect_is(newplot$plots[[1]], "ENAplot")
# })

# test_that("Plot all points", {
#   newset <- ena.make.set(accum)

#   newplot <- plot(newset) |> add_points()

#   testthat::expect_equal(nrow(newplot$plots[[1]]$plotted$points[[1]]$data), nrow(newset$points))
# })

# test_that("Plot some points", {
#   accum <- rENA:::ena.accumulate.data.file(
#     RS.data, units.by = c("UserName", "Condition"),
#     conversations.by = c("ActivityNumber", "GroupName"),
#     codes = codenames
#   );
#   newset <- ena.make.set(accum)

#   newplot <- plot(newset) |>
#      add_points(Condition$FirstGame, colors = "blue")

#   expected <- nrow(newset$points$Condition$FirstGame)
#   observed <- nrow(newplot$plots[[1]]$plotted$points[[1]]$data)
#   testthat::expect_equal(observed, expected)

#   n_to_plot = 5
#   newplot2 <- plot(newset) |>
#                 add_points(as.matrix(
#                   newset$points$Condition$FirstGame)[1:n_to_plot, ]
#                 )

#   observed <- nrow(newplot2$plots[[1]]$plotted$points[[1]]$data)
#   testthat::expect_equal(observed, 5)
# })

# test_that("Plot some points with mean from list", {
#   accum <- rENA:::ena.accumulate.data.file(
#     RS.data, units.by = c("UserName", "Condition"),
#     conversations.by = c("ActivityNumber", "GroupName"),
#     codes = codenames
#   );
#   newset <- ena.make.set(accum)
  
#   newplot <- plot(newset) |> add_points(Condition$FirstGame, colors = "blue", mean = list(colors = "red"))

#   testthat::expect_equal(
#     nrow(newplot$plots[[1]]$plotted$points[[1]]$data),
#     nrow(newset$points$Condition$FirstGame)
#   )
# })

# test_that("Plot a group", {
#   accum <- rENA:::ena.accumulate.data.file(
#     RS.data, units.by = c("UserName", "Condition"),
#     conversations.by = c("ActivityNumber", "GroupName"),
#     codes = codenames
#   );
#   newset <- ena.make.set(accum)

#   newplot <- plot(newset) |> add_group(Condition$FirstGame, colors = "blue")

#   testthat::expect_equal(length(newplot$plots[[1]]$plotted$means[[1]]$data), 15)

#   noplot = testthat::expect_warning(plot(newset) |> add_group(Condition$NoGame))
#   noplot = testthat::expect_warning(plot(newset) |> add_group(Condition2$FirstGame))
# })

# test_that("Plot a network", {
#   accum <- rENA:::ena.accumulate.data.file(
#     RS.data, units.by = c("UserName", "Condition"),
#     conversations.by = c("ActivityNumber", "GroupName"),
#     codes = codenames
#   );
#   newset <- ena.make.set(accum)

#   newplot <- plot(newset) |> add_network(Condition$FirstGame)
#   testthat::expect_equal(
#     length(newplot$plots[[1]]$plotted$networks[[1]]),
#     ncol(newset$rotation$adjacency.key)
#   )

#   newplot2 <- plot(newset) |> add_network(with.mean = TRUE)
#   testthat::expect_equal(
#     length(newplot2$plots[[1]]$plotted$networks[[1]]),
#     ncol(newset$rotation$adjacency.key)
#   )
#   testthat::expect_equal(length(newplot2$plots[[1]]$plotted$means), 1)

#   newplot3 <- plot(newset) |> add_network(Condition$FirstGame, with.mean = TRUE)
#   testthat::expect_equal(
#     length(newplot3$plots[[1]]$plotted$networks[[1]]),
#     ncol(newset$rotation$adjacency.key)
#   )

#   wgts <- as.matrix(newset$line.weights$Condition$FirstGame)
#   expect_equal(nrow(wgts), 26)
#   newplot4 <- plot(newset) |> add_network(wgts)
#   testthat::expect_equal(
#     length(newplot4$plots[[1]]$plotted$networks[[1]]),
#     ncol(newset$rotation$adjacency.key)
#   )

#   newplot5 <- plot(newset) |> add_network(
#     Condition$FirstGame - Condition$SecondGame, with.mean = TRUE
#   )
#   testthat::expect_equal(length(newplot5$plots[[1]]$plotted$means), 2)
#   testthat::expect_equal(
#     length(newplot5$plots[[1]]$plotted$networks[[1]]),
#     ncol(newset$rotation$adjacency.key)
#   )
# })

# test_that("Plot a Trajectory", {
#   accum <- rENA:::ena.accumulate.data.file(
#     RS.data, units.by = c("UserName", "Condition"),
#     conversations.by = c("ActivityNumber", "GroupName"),
#     codes = codenames,
#     model = "A"
#   );
#   newset <- ena.make.set(accum)

#   newplot <- plot(newset) |> add_trajectory("ENA_UNIT")
#   testthat::expect_equal(
#     nrow(newplot$plots[[1]]$plotted$trajectories[[1]]),
#     length(unique(newset$points$ENA_UNIT))
#   )

#   newplot2 <- plot(newset) |> add_trajectory()
#   testthat::expect_equal(
#     nrow(newplot2$plots[[1]]$plotted$trajectories[[1]]),
#     length(unique(newset$points$ENA_UNIT))
#   )

#   newplot3 <- plot(newset) |> add_trajectory(Condition$FirstGame)
#   testthat::expect_equal(
#     nrow(newplot3$plots[[1]]$plotted$trajectories[[1]]),
#     length(unique(newset$points$Condition$FirstGame$ENA_UNIT))
#   )
# })

# test_that("Test old plot object", {
#   accum <- suppressWarnings({
#     rENA:::ena.accumulate.data.file(
#       RS.data, units.by = c("UserName", "Condition"),
#       conversations.by = c("ActivityNumber", "GroupName"),
#       codes = codenames, as.list = F
#     )
#   })
#   set <- suppressWarnings({
#     ena.make.set(accum, as.list = F)
#   })

#   testthat::expect_warning(ena.plot(set))

#   plot <- suppressWarnings({ ena.plot(set) })
#   plot <- plot |> ena.plot.points()

#   testthat::expect_is(plot, "ENAplot")
#   testthat::expect_equal(
#     length(plot$plot$x$attrs) - 1,
#     length(set$enadata$unit.names)
#   )
# })

Try the rENA package in your browser

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

rENA documentation built on Nov. 5, 2025, 5:50 p.m.