test_that("plotEAF works", {

  # Build 3 artifical opt.paths with 2 crits
  makeArtOP = function() {
    ps = makeNumericParamSet(len = 1L)
    op = makeOptPathDF(par.set = ps, y.names = c("y1", "y2"),
      minimize = c(TRUE, TRUE))
    X = rnorm(60)
    dob = c(rep(0, 5), 1:15)
    for (i in 1:20) {
      addOptPathEl(op, x = list(
        x = X[i * 3]),
      y = X[i * 3 - 1:2],
      dob = dob[i])
    }
    op
  }
  # build aritificial list of opt pathes
  opt.paths = list(
    algo1 = list(makeArtOP(), makeArtOP(), makeArtOP()),
    algo2 = list(makeArtOP(), makeArtOP()),
    algo3 = list(makeArtOP()))

  # plot eaf and check returned data frame
  res = plotEAF(opt.paths)

  algo.names = c("algo1", "algo2", "algo3")

  expect_true(is.data.frame(res))
  expect_true(setequal(colnames(res), c("y1", "y2", ".algo", ".repl")))
  expect_true(all(res$.algo %in% algo.names))
  expect_true(all(res$.repl >= 1) && all(res$.repl <= 3))
})
