Esempio n. 1
0
    def test_create_item_checks_type_of_leaves(self):
        first = self.writer.append({'x': 3, 'y': 2})
        second = self.writer.append({'x': 3, 'y': 2})

        # History automatically transforms data and thus should be valid.
        self.writer.create_item(
            'table',
            1.0,
            {
                'x': self.writer.history['x'][0],  # Just one step.
                'y': self.writer.history['y'][:],  # Two steps.
            })

        # Columns can be constructed explicitly.
        self.writer.create_item(
            'table', 1.0, {
                'x': trajectory_writer.TrajectoryColumn([first['x']]),
                'y': trajectory_writer.TrajectoryColumn(
                    [first['y'], second['y']])
            })

        # But all leaves must be TrajectoryColumn.
        with self.assertRaises(TypeError):
            self.writer.create_item(
                'table', 1.0, {
                    'x': trajectory_writer.TrajectoryColumn([first['x']]),
                    'y': first['y'],
                })
Esempio n. 2
0
    def test_validates_squeeze(self):
        # Exactly one is valid.
        trajectory_writer.TrajectoryColumn([FakeWeakCellRef(1)], squeeze=True)

        # Zero is not fine.
        with self.assertRaises(ValueError):
            trajectory_writer.TrajectoryColumn([], squeeze=True)

        # Neither is two (or more).
        with self.assertRaises(ValueError):
            trajectory_writer.TrajectoryColumn(
                [FakeWeakCellRef(1), FakeWeakCellRef(2)], squeeze=True)
Esempio n. 3
0
 def test_dtype(self, data):
     expected_dtype = np.asarray(data).dtype
     column = trajectory_writer.TrajectoryColumn([FakeWeakCellRef(data)])
     self.assertEqual(column.dtype, expected_dtype)
Esempio n. 4
0
 def test_shape(self, data):
     expected_shape = np.asarray(data).shape
     for i in range(1, 10):
         column = trajectory_writer.TrajectoryColumn(
             [FakeWeakCellRef(data)] * i)
         self.assertEqual(column.shape, (i, *expected_shape))
Esempio n. 5
0
    def test_none_raises(self):
        with self.assertRaisesRegex(ValueError, r'cannot contain any None'):
            trajectory_writer.TrajectoryColumn([None])

        with self.assertRaisesRegex(ValueError, r'cannot contain any None'):
            trajectory_writer.TrajectoryColumn([FakeWeakCellRef(1), None])
Esempio n. 6
0
 def test_len(self):
     for i in range(1, 10):
         column = trajectory_writer.TrajectoryColumn([FakeWeakCellRef(1)] *
                                                     i)
         self.assertLen(column, i)
Esempio n. 7
0
 def test_shape_squeezed(self):
     expected_shape = (2, 5)
     data = np.arange(10).reshape(*expected_shape)
     column = trajectory_writer.TrajectoryColumn([FakeWeakCellRef(data)],
                                                 squeeze=True)
     self.assertEqual(column.shape, expected_shape)