*
* @author Yegor Kozlov
*/
public final class TestSound extends TestCase {
public void testRealFile() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
SlideShow ppt = new SlideShow(slTests.openResourceAsStream("sound.ppt"));
// Get the document
Document doc = ppt.getDocumentRecord();
SoundCollection soundCollection = null;
Record[] doc_ch = doc.getChildRecords();
for (int i = 0; i < doc_ch.length; i++) {
if (doc_ch[i] instanceof SoundCollection) {
soundCollection = (SoundCollection) doc_ch[i];
break;
}
}
if (soundCollection == null) {
throw new AssertionFailedError("soundCollection must not be null");
}
Sound sound = null;
Record[] sound_ch = soundCollection.getChildRecords();
int k = 0;
for (int i = 0; i < sound_ch.length; i++) {
if (sound_ch[i] instanceof Sound) {
sound = (Sound) sound_ch[i];
k++;
}
}
if (sound == null) {
throw new AssertionFailedError("sound must not be null");
}
assertEquals(1, k);
assertEquals("ringin.wav", sound.getSoundName());
assertEquals(".WAV", sound.getSoundType());
assertNotNull(sound.getSoundData());
byte[] ref_data = slTests.readFile("ringin.wav");
assertTrue(Arrays.equals(ref_data, sound.getSoundData()));
}