|
1 | | -from nose.tools import assert_raises, assert_equal, \ |
2 | | - assert_false, assert_true, assert_list_equal, \ |
3 | | - assert_tuple_equal, assert_dict_equal, raises |
4 | | - |
| 1 | +from nose.tools import assert_equal, assert_false, assert_true, raises |
5 | 2 | from . import schema |
| 3 | +from datajoint import DataJointError |
6 | 4 |
|
7 | 5 |
|
8 | 6 | class TestPopulate: |
9 | 7 | """ |
10 | 8 | Test base relations: insert, delete |
11 | 9 | """ |
12 | 10 |
|
13 | | - def __init__(self): |
| 11 | + def setUp(self): |
14 | 12 | self.user = schema.User() |
15 | 13 | self.subject = schema.Subject() |
16 | 14 | self.experiment = schema.Experiment() |
17 | 15 | self.trial = schema.Trial() |
18 | 16 | self.ephys = schema.Ephys() |
19 | 17 | self.channel = schema.Ephys.Channel() |
20 | 18 |
|
| 19 | + def tearDown(self): |
21 | 20 | # delete automatic tables just in case |
22 | 21 | self.channel.delete_quick() |
23 | 22 | self.ephys.delete_quick() |
| 23 | + self.trial.Condition.delete_quick() |
24 | 24 | self.trial.delete_quick() |
25 | 25 | self.experiment.delete_quick() |
26 | 26 |
|
@@ -49,3 +49,18 @@ def test_populate(self): |
49 | 49 | self.ephys.populate() |
50 | 50 | assert_true(self.ephys) |
51 | 51 | assert_true(self.channel) |
| 52 | + |
| 53 | + def test_allow_direct_insert(self): |
| 54 | + assert_true(self.subject, 'root tables are empty') |
| 55 | + key = self.subject.fetch('KEY')[0] |
| 56 | + key['experiment_id'] = 1000 |
| 57 | + key['experiment_date'] = '2018-10-30' |
| 58 | + self.experiment.insert1(key, allow_direct_insert=True) |
| 59 | + |
| 60 | + @raises(DataJointError) |
| 61 | + def test_allow_insert(self): |
| 62 | + assert_true(self.subject, 'root tables are empty') |
| 63 | + key = self.subject.fetch('KEY')[0] |
| 64 | + key['experiment_id'] = 1001 |
| 65 | + key['experiment_date'] = '2018-10-30' |
| 66 | + self.experiment.insert1(key) |
0 commit comments