tests/testthat/test-Parabola2D.R

library(testthat)
library(xegaSelectGene)

test_that("Problem environment DelayedP produces the correct results",
  {expect_identical(DelayedPFactory()$name(), "DelayedP")
  expect_setequal(DelayedPFactory()$bitlength(), rep(20, 2))
  expect_setequal(DelayedPFactory()$genelength(), 40)
  expect_setequal(DelayedPFactory()$lb(), rep(-4.5, 2))
  expect_setequal(DelayedPFactory()$ub(), rep(4.5, 2))
  expect_equal(DelayedPFactory()$f(c(1,1)), 2)
  expect_output(DelayedPFactory()$describe(), regexp="parabola")
  expect_equal(DelayedPFactory()$solution()$minimum, 0.0)
  expect_equal(DelayedPFactory()$solution()$maximum, 40.5)
  expect_setequal(DelayedPFactory()$solution()$minpoints[[1]], rep(0, 2))
  expect_setequal(DelayedPFactory()$solution()$maxpoints[[1]], rep(4.5, 2))
  }
) 

test_that("Problem environment Parabola2D produces the correct results",
  {expect_identical(Parabola2DFactory()$name(), "Parabola2D")
  expect_setequal(Parabola2DFactory()$bitlength(), rep(20, 2))
  expect_setequal(Parabola2DFactory()$genelength(), 40)
  expect_setequal(Parabola2DFactory()$lb(), rep(-4.5, 2))
  expect_setequal(Parabola2DFactory()$ub(), rep(4.5, 2))
  expect_equal(Parabola2DFactory()$f(c(1,1)), 2)
  expect_output(Parabola2DFactory()$describe(), regexp="unimodal")
  expect_equal(Parabola2DFactory()$solution()$minimum, 0.0)
  expect_equal(Parabola2DFactory()$solution()$maximum, 40.5)
  expect_setequal(Parabola2DFactory()$solution()$minpoints[[1]], rep(0, 2))
  expect_setequal(Parabola2DFactory()$solution()$maxpoints[[1]], rep(4.5, 2))
  }
) 

test_that("Problem environment Parabola2DEarly produces the correct results",
  {expect_identical(Parabola2DEarlyFactory()$name(), "Parabola2DEarly")
  expect_setequal(Parabola2DEarlyFactory()$bitlength(), rep(20, 2))
  expect_setequal(Parabola2DEarlyFactory()$genelength(), 40)
  expect_setequal(Parabola2DEarlyFactory()$lb(), rep(-4.5, 2))
  expect_setequal(Parabola2DEarlyFactory()$ub(), rep(4.5, 2))
  expect_equal(Parabola2DEarlyFactory()$f(c(1,1)), 2)
  expect_output(Parabola2DEarlyFactory()$describe(), regexp="unimodal")
  expect_equal(Parabola2DEarlyFactory()$solution()$minimum, 0.0)
  expect_equal(Parabola2DEarlyFactory()$solution()$maximum, 40.5)
  expect_setequal(Parabola2DEarlyFactory()$solution()$minpoints[[1]], rep(0, 2))
  expect_setequal(Parabola2DEarlyFactory()$solution()$maxpoints[[1]], rep(4.5, 2))
  }
) 

test_that("Problem environment Parabola2DEarly (min) produces the correct results",
  {
 solution<-list()
 solution$phenotypeValue<-0.001
 lF<-list()
 lF$TerminationEps<-function() {0.01}
 lF$Max<-function() {FALSE}
 lF$penv<-Parabola2DEarlyFactory()
  expect_identical(Parabola2DEarlyFactory()$terminate(solution, lF), TRUE)
 solution$phenotypeValue<-0.1
  expect_identical(Parabola2DEarlyFactory()$terminate(solution, lF), FALSE)
  }
) 

test_that("Problem environment Parabola2DEarly (max) produces the correct results",
  {
 solution<-list()
 solution$phenotypeValue<-40.495
 lF<-list()
 lF$TerminationEps<-function() {0.01}
 lF$Max<-function() {TRUE}
 lF$penv<-Parabola2DEarlyFactory()
  expect_identical(Parabola2DEarlyFactory()$terminate(solution, lF), TRUE)
 solution$phenotypeValue<-40.0
  expect_identical(Parabola2DEarlyFactory()$terminate(solution, lF), FALSE)
  }
) 

test_that("Problem environment Parabola2DErr produces the correct results",
  {expect_identical(Parabola2DErrFactory()$name(), "Parabola2D")
  expect_setequal(Parabola2DErrFactory()$bitlength(), rep(20, 2))
  expect_setequal(Parabola2DErrFactory()$genelength(), 40)
  expect_setequal(Parabola2DErrFactory()$lb(), rep(-4.5, 2))
  expect_setequal(Parabola2DErrFactory()$ub(), rep(4.5, 2))
  a<-Parabola2DErrFactory()
  expect_error(while (TRUE) {a$f(c(1,1))})
  expect_error(while (TRUE) {a$f(c(1,1))})
  expect_error(while (TRUE) {a$f(c(1,1))})
  expect_output(Parabola2DErrFactory()$describe(), regexp="error")
  expect_equal(Parabola2DErrFactory()$solution()$minimum, 0.0)
  expect_equal(Parabola2DErrFactory()$solution()$maximum, 40.5)
  expect_setequal(Parabola2DErrFactory()$solution()$minpoints[[1]], rep(0, 2))
  expect_setequal(Parabola2DErrFactory()$solution()$maxpoints[[1]], rep(4.5, 2))
  }
) 

Try the xegaSelectGene package in your browser

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

xegaSelectGene documentation built on April 16, 2025, 5:12 p.m.