From ea623385d63bea4666a636906f3046a316cb89c0 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Mon, 17 Dec 2012 16:36:38 +0000 Subject: [PATCH] SpeechSynthesisTest: test for added and removed voices to make it easier to maintain and update the VoiceData.voices list. --- .../espeak/test/SpeechSynthesisTest.java | 56 ++++++++++++++++++- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java b/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java index c83acb95..5cc9cbda 100644 --- a/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java +++ b/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java @@ -16,8 +16,11 @@ package com.reecedunn.espeak.test; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Locale; +import java.util.Set; import com.reecedunn.espeak.SpeechSynthesis; import com.reecedunn.espeak.SpeechSynthesis.Voice; @@ -108,7 +111,6 @@ public class SpeechSynthesisTest extends AndroidTestCase final SpeechSynthesis synth = new SpeechSynthesis(getContext(), mCallback); mVoices = synth.getAvailableVoices(); assertThat(mVoices, is(notNullValue())); - assertThat(mVoices.size(), is(VoiceData.voices.length)); } return mVoices; } @@ -134,7 +136,57 @@ public class SpeechSynthesisTest extends AndroidTestCase assertThat(synth.getBufferSizeInBytes(), is(22050)); } - public void testAvailableVoices() + public void testAddedVoices() + { + Set voices = new HashSet(); + for (Voice data : getVoices()) + { + voices.add(data.name); + } + + Set expected = new HashSet(); + for (VoiceData.Voice data : VoiceData.voices) + { + expected.add(data.name); + } + + Set added = new HashSet(); + for (String voice : voices) + { + if (!expected.contains(voice)) + { + added.add(voice); + } + } + assertThat(added.toString(), is("[]")); + } + + public void testRemovedVoices() + { + Set voices = new HashSet(); + for (Voice data : getVoices()) + { + voices.add(data.name); + } + + Set expected = new HashSet(); + for (VoiceData.Voice data : VoiceData.voices) + { + expected.add(data.name); + } + + Set removed = new HashSet(); + for (String voice : expected) + { + if (!voices.contains(voice)) + { + removed.add(voice); + } + } + assertThat(removed.toString(), is("[]")); + } + + public void testVoiceData() { for (VoiceData.Voice data : VoiceData.voices) {