test_doc
test_Signal.cpp
浏览该文件的文档.
1 /*
2  * test_Signal.cpp
3  *
4  * Created on: 2013-3-11
5  * Author: fasiondog
6  */
7 
8 
9 #ifdef TEST_ALL_IN_ONE
10  #include <boost/test/unit_test.hpp>
11 #else
12  #define BOOST_TEST_MODULE test_hikyuu_trade_sys_suite
13  #include <boost/test/unit_test.hpp>
14 #endif
15 
16 #include <hikyuu/StockManager.h>
17 #include <hikyuu/trade_sys/signal/SignalBase.h>
18 
19 using namespace hku;
20 
21 class SignalTest: public SignalBase {
22 public:
23  SignalTest(): SignalBase(), m_x(0) {}
24  virtual ~SignalTest() {}
25 
26  void setX(int x) { m_x = x; }
27  int getX() const { return m_x; }
28 
29  virtual void _reset() {
30  m_x = 0;
31  }
32 
33  virtual SignalPtr _clone() {
34  SignalTest *p = new SignalTest;
35  p->m_x = m_x;
36  return SignalPtr(p);
37  }
38 
39  virtual void _calculate() {
40 
41  }
42 
43 private:
44  int m_x;
45 
46 };
47 
55 BOOST_AUTO_TEST_CASE( test_Signal) {
56  StockManager& sm = StockManager::instance();
57  Stock stock = sm.getStock("sh000001");
58 
60  SignalPtr p(new SignalTest);
61  SignalTest *p_src = (SignalTest *)p.get();
62  BOOST_CHECK(p_src->getX() == 0);
63  BOOST_CHECK(p->name() == "SignalBase");
64  p->name("SignalTest");
65  BOOST_CHECK(p->name() == "SignalTest");
66  BOOST_CHECK(p->shouldBuy(Datetime(200101010000)) == false);
67  p->_addBuySignal(Datetime(200101010000));
68  BOOST_CHECK(p->shouldBuy(Datetime(200101010000)) == true);
69  BOOST_CHECK(p->shouldSell(Datetime(200101030000)) == false);
70  p->_addSellSignal(Datetime(200101030000));
71  BOOST_CHECK(p->shouldSell(Datetime(200101030000)) == true);
72 
74  p_src->setX(10);
75  SignalPtr p_clone = p->clone();
76  BOOST_CHECK(p != p_clone);
77  p_src = (SignalTest *)p_clone.get();
78  BOOST_CHECK(p_src->getX() == 10);
79  BOOST_CHECK(p_clone->shouldBuy(Datetime(200101010000)) == true);
80  BOOST_CHECK(p_clone->shouldSell(Datetime(200101030000)) == true);
81 }
82 
void setX(int x)
Definition: test_Signal.cpp:26
virtual SignalPtr _clone()
Definition: test_Signal.cpp:33
virtual void _calculate()
Definition: test_Signal.cpp:39
virtual void _reset()
Definition: test_Signal.cpp:29
int getX() const
Definition: test_Signal.cpp:27
BOOST_AUTO_TEST_CASE(test_Signal)
Definition: test_Signal.cpp:55
virtual ~SignalTest()
Definition: test_Signal.cpp:24