def test_set_invalid_state(self):
        reader = make_reader(1)

        splitter = UniformSplitter(self.project_id,
                                   self.vault_id,
                                   reader)

        with self.assertRaises(errors.ParameterConstraintError):
            splitter._set_state('bad state')
    def test_set_reader(self):
        reader = make_reader(1)

        splitter = UniformSplitter(self.project_id,
                                   self.vault_id,
                                   reader)

        self.assertEqual(reader, splitter.input_stream)

        new_reader = make_reader(2)
        splitter.input_stream = new_reader

        self.assertEqual(new_reader, splitter.input_stream)

        splitter._set_state('processing')

        with self.assertRaises(RuntimeError):
            splitter.input_stream = reader