15 #include <gtest/gtest.h>
23 TEST(EffectiveSampleSize, Empty) {
24 auto weights = std::vector<double>{};
28 TEST(EffectiveSampleSize, Zeros) {
29 auto weights = std::vector{0.0, 0.0, 0.0, 0.0, 0.0};
33 TEST(EffectiveSampleSize, Ones) {
34 auto weights = std::vector{1.0, 1.0, 1.0, 1.0, 1.0};
38 TEST(EffectiveSampleSize, HomogeneousLow) {
39 auto weights = std::vector{0.1, 0.1, 0.1, 0.1, 0.1};
43 TEST(EffectiveSampleSize, HomogeneousHigh) {
44 auto weights = std::vector{100, 100, 100, 100, 100};
48 TEST(EffectiveSampleSize, OneZero) {
49 auto weights = std::vector{1.0, 0.0};
53 TEST(EffectiveSampleSize, OneZeroZero) {
54 auto weights = std::vector{1.0, 0.0, 0.0};
58 TEST(EffectiveSampleSize, OneOneZero) {
59 auto weights = std::vector{1.0, 1.0, 0.0};
63 TEST(EffectiveSampleSize, Heterogeneous1) {
64 auto weights = std::vector{1.0, 0.5, 0.0};
68 TEST(EffectiveSampleSize, Heterogeneous2) {
69 auto weights = std::vector{1.0, 0.5, 0.5};
73 TEST(EffectiveSampleSize, Particles) {
78 auto particles = std::vector{Particle{1, 1.0}, Particle{1, 0.5}, Particle{1, 0.5}};