root/library/tests/epdf_harness.h @ 462

Revision 462, 1.1 kB (checked in by vbarta, 15 years ago)

moved test of marginal & condition to epdf_harness

Line 
1/*!
2  \file
3  \brief Support for testing descendants of epdf.
4  \author Vaclav Barta.
5
6  -----------------------------------
7  BDM++ - C++ library for Bayesian Decision Making under Uncertainty
8
9  Using IT++ for numerical operations
10  -----------------------------------
11*/
12
13#ifndef EPDF_HARNESS_H
14#define EPDF_HARNESS_H
15
16#define BDMLIB // not an ideal way to prevent double registration of UI factories...
17
18#include "bdmroot.h"
19#include "itpp_ext.h"
20#include "shared_ptr.h"
21#include "base/bdmbase.h"
22#include "base/user_info.h"
23
24namespace bdm
25{
26
27class epdf_harness : public root
28{
29private:
30    shared_ptr<epdf> hepdf;
31    vec mean;
32    vec variance;
33    mat support;
34    vec nbins;
35    int nsamples;
36    mat R;
37    shared_ptr<RV> mrv;
38    double tolerance;
39
40public:
41    static void test_config(const char *config_file_name);
42
43    epdf_harness():nsamples(1000), tolerance(0.1) { }
44
45    virtual void test(const char *config_name, int idx);
46
47    void from_setting(const Setting &set);
48
49protected:
50    epdf *get_epdf() { return hepdf.get(); }
51
52    double get_tolerance() const { return tolerance; }
53};
54
55}
56
57#endif
Note: See TracBrowser for help on using the browser.