Пример #1
0
    def test_write_chunk_writes_multipule_chunks_to_files(
            self, mock_Wave, mock_isdir):
        output_folder = 'somefolder'
        test_file_writer = FileWriter(48000, '16 bit', output_folder)
        mock_wave_writer = mock_Wave.open.return_value
        chunk = numpy.array([[1.0, 1.0], [0.0, 0.0], [-1.0, -1.0], [0.5, 0.5]])

        expected_channels = 2
        expected_sampWidth = 2  # 16bits -> 2 bytes
        expected_framerate = 48000
        expected_frames = numpy.array([[32767, 32767], [0,
                                                        0], [-32767, -32767],
                                       [16384, 16384]]).astype(
                                           numpy.dtype('<i2')).tostring()

        test_file_writer.write_chunk(chunk)
        test_file_writer.write_chunk(chunk)

        mock_Wave.open.assert_called_with(
            os.path.join(output_folder, 'layer_0.0_.wav'), 'wb')

        mock_wave_writer.setnchannels.assert_called_with(expected_channels)
        mock_wave_writer.setsampwidth.assert_called_with(expected_sampWidth)
        mock_wave_writer.setframerate.assert_called_with(expected_framerate)
        mock_wave_writer.writeframes.assert_has_calls(
            [call(expected_frames),
             call(expected_frames)])
Пример #2
0
 def test_init_throws_exception_for_unsupport_formats(
         self, mock_Wave, mock_isdir):
     mock_isdir.return_value = True
     with self.assertRaises(Exception):
         FileWriter(48000, 'random', 'folder')
     with self.assertRaises(Exception):
         FileWriter(48010, '16 bit', 'folder')
Пример #3
0
    def test_next_layer_closes_open_file(self,mock_Wave,mock_isdir):
        output_folder = 'somefolder'
        test_file_writer = FileWriter(48000,'16 bit',output_folder)
        mock_wave_writer = mock_Wave.open.return_value
        chunk = numpy.array([[1.0,1.0],[0.0,0.0],[-1.0,-1.0],[0.5,0.5]])
        test_file_writer.write_chunk(chunk)
        test_file_writer.next_layer(0.1)

        mock_Wave.open.assert_called_with(os.path.join(output_folder, 'layer_0.0_.wav'), 'wb')
        mock_wave_writer.close.assert_called_with()
Пример #4
0
 def test_init_creates_folder_if_doesnt_exist(
     self,
     mock_Wave,
     mock_isdir,
     mock_mkdir,
 ):
     mock_isdir.return_value = False
     output_folder = 'somefolder'
     FileWriter(48000, '16 bit', output_folder)
     mock_mkdir.assert_called_with(output_folder)
Пример #5
0
    def test_write_chunk_writes_data_to_correct_file(self, mock_Wave,mock_isdir):
        output_folder = 'somefolder'
        test_file_writer = FileWriter(48000,'16 bit',output_folder)
        mock_wave_writer = mock_Wave.open.return_value
        chunk = numpy.array([[1.0,1.0],[0.0,0.0],[-1.0,-1.0],[0.5,0.5]])

        expected_channels = 2
        expected_sampWidth = 2 # 16bits -> 2 bytes
        expected_framerate = 48000 
        expected_frames = numpy.array([[32767,32767],[0,0],[-32767,-32767],[16384,16384]]).astype(numpy.dtype('<i2')).tostring()
        
        test_file_writer.write_chunk(chunk)

        mock_Wave.open.assert_called_with(os.path.join(output_folder, 'layer_0.0_.wav'), 'wb')

        mock_wave_writer.setnchannels.assert_called_with(expected_channels)
        mock_wave_writer.setsampwidth.assert_called_with(expected_sampWidth)
        mock_wave_writer.setframerate.assert_called_with(expected_framerate)
        mock_wave_writer.writeframes.assert_called_with(expected_frames)
Пример #6
0
    def test_next_layer_then_write_opens_new_file(self, mock_Wave, mock_isdir):
        output_folder = 'somefolder'
        test_file_writer = FileWriter(48000, '16 bit', output_folder)
        mock_wave_writer = mock_Wave.open.return_value
        chunk = numpy.array([[1.0, 1.0], [0.0, 0.0], [-1.0, -1.0], [0.5, 0.5]])
        test_file_writer.write_chunk(chunk)
        test_file_writer.next_layer(0.1)
        test_file_writer.write_chunk(chunk)

        self.assertEquals(2, mock_Wave.open.call_count)
        mock_Wave.open.assert_called_with(
            os.path.join(output_folder, 'layer_0.1_.wav'), 'wb')
        mock_wave_writer.close.assert_called_with()
Пример #7
0
    def test_closes_closes_open_file(self, mock_Wave, mock_isdir):
        output_folder = 'somefolder'
        test_file_writer = FileWriter(48000, '16 bit', output_folder)
        mock_wave_writer = mock_Wave.open.return_value
        chunk = numpy.array([[1.0, 1.0], [0.0, 0.0], [-1.0, -1.0], [0.5, 0.5]])
        test_file_writer.write_chunk(chunk)
        test_file_writer.close()

        mock_Wave.open.assert_called_with(
            os.path.join(output_folder, 'layer_0.0_.wav'), 'wb')
        mock_wave_writer.close.assert_called_with()