public void CanPassTwoProviders() { // arrange var expectedLength = 100; var input1 = new TestSampleProvider(44100, 2, 50); var input2 = new TestSampleProvider(44100, 2, 50); var concatenator = new ConcatenatingSampleProvider(new[] { input1, input2 }); var buffer = new float[2000]; var read = concatenator.Read(buffer, 0, buffer.Length); Assert.AreEqual(expectedLength, read, "read == expectedLength"); Assert.AreEqual(49, buffer[49]); Assert.AreEqual(0, buffer[50]); Assert.AreEqual(49, buffer[99]); }
public void CanPassASingleProvider() { // arrange const int expectedLength = 5000; var input = new TestSampleProvider(44100, 2, expectedLength); var concatenator = new ConcatenatingSampleProvider(new[] { input }); var buffer = new float[2000]; var totalRead = 0; // act while (true) { var read = concatenator.Read(buffer, 0, buffer.Length); if (read == 0) { break; } totalRead += read; Assert.That(totalRead <= expectedLength); } Assert.That(totalRead == expectedLength); }