|
1 | 1 | # -*- coding: utf-8 -*- |
2 | 2 |
|
3 | 3 |
|
| 4 | +import unittest |
4 | 5 | import brainpy as bp |
5 | 6 | import brainpy.math as bm |
6 | 7 |
|
7 | 8 |
|
8 | | -class ExampleDS(bp.dyn.DynamicalSystem): |
9 | | - def __init__(self): |
10 | | - super(ExampleDS, self).__init__() |
11 | | - self.i = bm.Variable(bm.zeros(1)) |
12 | | - self.o = bm.Variable(bm.zeros(2)) |
| 9 | +class TestDSRunner(unittest.TestCase): |
| 10 | + def test1(self): |
| 11 | + class ExampleDS(bp.dyn.DynamicalSystem): |
| 12 | + def __init__(self): |
| 13 | + super(ExampleDS, self).__init__() |
| 14 | + self.i = bm.Variable(bm.zeros(1)) |
13 | 15 |
|
14 | | - def update(self, _t, _dt): |
15 | | - self.i += 1 |
| 16 | + def update(self, _t, _dt): |
| 17 | + self.i += 1 |
16 | 18 |
|
| 19 | + ds = ExampleDS() |
| 20 | + runner = bp.dyn.DSRunner(ds, dt=1., monitors=['i'], progress_bar=False) |
| 21 | + runner.run(100.) |
| 22 | + |
| 23 | + def test_t_and_dt(self): |
| 24 | + class ExampleDS(bp.dyn.DynamicalSystem): |
| 25 | + def __init__(self): |
| 26 | + super(ExampleDS, self).__init__() |
| 27 | + self.i = bm.Variable(bm.zeros(1)) |
| 28 | + |
| 29 | + def update(self, t, dt): |
| 30 | + self.i += 1 * dt |
| 31 | + |
| 32 | + runner = bp.dyn.DSRunner(ExampleDS(), dt=1., monitors=['i'], progress_bar=False) |
| 33 | + runner.run(100.) |
17 | 34 |
|
18 | 35 | # class TestMonitor(TestCase): |
19 | 36 | # def test_1d_array(self): |
@@ -62,4 +79,3 @@ def update(self, _t, _dt): |
62 | 79 | # assert np.ndim(try3.mon.a) == 2 and np.shape(try3.mon.a)[1] == 1 |
63 | 80 | # series = np.arange(2, 1002, 1. / 0.1).reshape((-1, 1)) |
64 | 81 | # assert np.allclose(series, try3.mon.a) |
65 | | - |
|
0 commit comments