Nothing
library(testthat)
library(xegaSelectGene)
library(xegaGaGene)
library(xegaPopulation)
lFxegaGaGene$ReportEvalErrors<-function() {TRUE}
test_that("AcceptNewGene OK",
{
id<-function(x, lF){x}
g1<-InitGene(lFxegaGaGene)
g2<-InitGene(lFxegaGaGene)
g2$evalFail<-TRUE
expect_identical(AcceptNewGene(id, g1, lFxegaGaGene), g1)
# Raises error and ignores it!
expect_identical(AcceptNewGene(id, g2, lFxegaGaGene), g2)
}
)
test_that("AcceptBest OK",
{
OPpipe1<-function(g, lF){InitGene(lF)}
set.seed(1)
g1<-lFxegaGaGene$EvalGene(InitGene(lFxegaGaGene), lFxegaGaGene)
lFfail<-lFxegaGaGene
lFfail$penv$f<-function(parm, gene=0, lF=0) { "a"+sum(parm^{2})/0}
lFfail$CWorstFitness<-function() {-1000}
# Raises error and ignores it!
g2<-AcceptBest(OPpipe1, g1, lFfail)
g3<-AcceptBest(OPpipe1, g1, lFxegaGaGene)
g4<-AcceptBest(OPpipe1, g1, lFxegaGaGene)
g5<-AcceptBest(OPpipe1, g1, lFxegaGaGene)
g6<-AcceptBest(OPpipe1, g1, lFxegaGaGene)
expect_identical(g1$fit, g2$fit)
expect_identical(g1, g3)
expect_identical(g1, g4)
expect_identical(g1, g5)
expect_identical(g6$fit>g1$fit, TRUE)
}
)
test_that("AcceptMetropolis OK",
{
parm<-function(x){function() {return(x)}}
lFxegaGaGene$Beta<-parm(1)
lFxegaGaGene$TempK<-parm(10)
OPpipe1<-function(g, lF){InitGene(lF)}
set.seed(2)
g1<-lFxegaGaGene$EvalGene(InitGene(lFxegaGaGene), lFxegaGaGene)
lFfail<-lFxegaGaGene
lFfail$penv$f<-function(parm, gene=0, lF=0) { "a"+sum(parm^{2})/0}
lFfail$CWorstFitness<-function() {-1000}
# Raises error and ignores it!
g2<-AcceptMetropolis(OPpipe1, g1, lFfail)
g3<-AcceptMetropolis(OPpipe1, g1, lFxegaGaGene)
g4<-AcceptMetropolis(OPpipe1, g1, lFxegaGaGene)
g5<-AcceptMetropolis(OPpipe1, g4, lFxegaGaGene)
expect_identical(g1$fit, g2$fit)
expect_identical(g1, g3)
expect_identical((g1$fit>g4$fit), TRUE)
expect_identical((g5$fit>g4$fit), TRUE)
}
)
test_that("AcceptIVMetropolis OK",
{
parm<-function(x){function() {return(x)}}
lFxegaGaGene$Beta<-parm(1)
lFxegaGaGene$TempK<-parm(10)
lFxegaGaGene$CBestFitness<-parm(20.39447)
OPpipe1<-function(g, lF){InitGene(lF)}
set.seed(2)
g1<-lFxegaGaGene$EvalGene(InitGene(lFxegaGaGene), lFxegaGaGene)
lFfail<-lFxegaGaGene
lFfail$penv$f<-function(parm, gene=0, lF=0) { "a"+sum(parm^{2})/0}
lFfail$CWorstFitness<-function() {-1000}
# Raises error and ignores it!
g2<-AcceptIVMetropolis(OPpipe1, g1, lFfail)
g3<-AcceptIVMetropolis(OPpipe1, g1, lFxegaGaGene)
g4<-AcceptIVMetropolis(OPpipe1, g1, lFxegaGaGene)
g5<-AcceptIVMetropolis(OPpipe1, g4, lFxegaGaGene)
expect_identical(g1$fit, g2$fit)
expect_identical(g1, g3)
expect_identical((g1$fit>g4$fit), TRUE)
expect_identical((g5$fit>g4$fit), TRUE)
}
)
test_that("MetropolisAcceptanceProbability OK",
{
expect_equal(MetropolisAcceptanceProbability(0, 1, 20), 1)
expect_equal(MetropolisAcceptanceProbability(1, 1, 20), 0.9512294,
tolerance=0.0001)
expect_equal(MetropolisAcceptanceProbability(0, 5, 30), 1)
expect_equal(MetropolisAcceptanceProbability(0, 0.5, 1000), 1)
expect_equal(MetropolisAcceptanceProbability(1, 1, 20), 0.9512294,
tolerance=0.0001)
expect_equal(MetropolisAcceptanceProbability(1, 2, 20), 0.9048374,
tolerance=0.0001)
}
)
test_that("MetropolisTable OK",
{
b<-c(0.6703200, 0.6676171, 0.6648980,
0.6621626, 0.6594111, 0.6566433, 0.6538594,
0.6510594, 0.6482432, 0.6454110)
a<-MetropolisTable(d=2, beta=2, temperature=10, alpha=0.99, steps=10)
expect_equal(a[,5], b,
tolerance=0.0001)
}
)
test_that("AcceptFactory OK",
{
Fun<-AcceptFactory()
expect_identical(body(Fun), body(AcceptNewGene))
Fun<-AcceptFactory("All")
expect_identical(body(Fun), body(AcceptNewGene))
Fun<-AcceptFactory("Best")
expect_identical(body(Fun), body(AcceptBest))
Fun<-AcceptFactory("Metropolis")
expect_identical(body(Fun), body(AcceptMetropolis))
Fun<-AcceptFactory("IVMetropolis")
expect_identical(body(Fun), body(AcceptIVMetropolis))
expect_error(AcceptFactory("Stchastic"))
}
)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.