test_doc
test_Environment.cpp
浏览该文件的文档.
1 /*
2  * test_Environment.cpp
3  *
4  * Created on: 2013-3-10
5  * Author: fasiondog
6  */
7 
8 #ifdef TEST_ALL_IN_ONE
9  #include <boost/test/unit_test.hpp>
10 #else
11  #define BOOST_TEST_MODULE test_hikyuu_trade_sys_suite
12  #include <boost/test/unit_test.hpp>
13 #endif
14 
15 #include <hikyuu/StockManager.h>
16 #include <hikyuu/trade_sys/environment/EnvironmentBase.h>
17 
18 using namespace hku;
19 
20 class EnvironmentTest: public EnvironmentBase {
21 public:
22  EnvironmentTest(): EnvironmentBase("TEST") {
23  setParam<int>("n", 10);
24  }
25 
26  virtual ~EnvironmentTest() {}
27 
28  virtual void _calculate() {
29  _addValid(Datetime(200001010000LL));
30  }
31 
32  virtual EnvironmentPtr _clone() {
33  return make_shared<EnvironmentTest>();
34  }
35 
36 };
37 
45 BOOST_AUTO_TEST_CASE( test_Environment ) {
47  EnvironmentPtr p = make_shared<EnvironmentTest>();
48  BOOST_CHECK(p->name() == "TEST");
49  BOOST_CHECK(p->isValid(Datetime(200001010000)) == false);
50  BOOST_CHECK(p->isValid(Datetime(200001020000)) == false);
51 
52  p->setQuery(KQuery(-100));
53  BOOST_CHECK(p->isValid(Datetime(200001010000)) == true);
54  BOOST_CHECK(p->isValid(Datetime(200001020000)) == false);
55  BOOST_CHECK(p->getParam<int>("n") == 10);
56 
58  p->setParam<int>("n", 20);
59  EnvironmentPtr p_clone = p->clone();
60  BOOST_CHECK(p != p_clone);
61  BOOST_CHECK(p_clone->name() == "TEST");
62  BOOST_CHECK(p_clone->isValid(Datetime(200001010000)) == true);
63  BOOST_CHECK(p_clone->isValid(Datetime(200001020000)) == false);
64  BOOST_CHECK(p_clone->getParam<int>("n") == 20);
65 }
66 
67 
BOOST_AUTO_TEST_CASE(test_Environment)
virtual void _calculate()
virtual ~EnvironmentTest()
virtual EnvironmentPtr _clone()