using Random, StatsBase, Distributions using Graphs using AbstractMCMC: MCMCSerial #, MCMCThreads, MCMCDistributed using CairoMakie using Test using Revise using MultilevelChainSampler using CSV, DataFrames w = CyclicWalk() s = MetropolisHastings(w) f = LogDensity(x->-x^2/2) c = sample(f, s, MCMCSerial(), 300, 4) # Test conversion df = convert(Vector{DataFrame}, c) c2 = convert(RejectionChains, df) autocov(c) # Test multilevel @test all( abs.( empirical_cdf(c, .5) .- 0.78045 ) .< 0.1 ) g = MultilevelLogDensity([f,f]) s3 = ChristenFox(w, true) c3 = sample(g, s3, MCMCSerial(), 300, 4)