alpha = 0.05
N = 1000
n = 50

library(goftest)
# niz vrednosti test statistike pri nultoj hipotezi
ts0  = rep(0, N)
for (i in 1:N) {
  x = rexp(n)
  lambda = n / sum(x)
  ts0[i] = cvm.test(x, "pexp", lambda)$stat
}
  
# empirijska mera testa
ts_0_pom  = rep(0, N)
  for (i in 1:N) {
    x = rexp(n,5)
    lambda = n / sum(x)
    ts_0_pom[i] = cvm.test(x, "pexp", lambda)$stat
  }
c = quantile(ts_0_pom, 1 - alpha)
(mera = 1 - ecdf(ts0)(c))
  
# niz vrednosti test statistike pri alternativnoj hipotezi
ts1 = rep(0, N)
for (i in 1:N) {
  x = rgamma(n, 2, 1)
  lambda = n / sum(x)
  ts1[i] = cvm.test(x, "pexp", lambda)$stat
} 

# empirijska moc testa
(moc = 1 - ecdf(ts1)(c))
