|
@ -0,0 +1,52 @@ |
|
|
|
|
|
package device.cdPlayer; |
|
|
|
|
|
|
|
|
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
|
|
import org.junit.jupiter.api.extension.ExtendWith; |
|
|
|
|
|
import org.junit.jupiter.params.ParameterizedTest; |
|
|
|
|
|
import org.junit.jupiter.params.provider.Arguments; |
|
|
|
|
|
import org.junit.jupiter.params.provider.MethodSource; |
|
|
|
|
|
import org.mockito.junit.jupiter.MockitoExtension; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.stream.Stream; |
|
|
|
|
|
|
|
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat; |
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.*; |
|
|
|
|
|
|
|
|
|
|
|
@ExtendWith(MockitoExtension.class) |
|
|
|
|
|
class CDPlayerTest { |
|
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest |
|
|
|
|
|
@MethodSource("quieterTestData") |
|
|
|
|
|
void quieterTest(String testName,String testDirection, CDPlayer _cdPlayer,int anzClicks, int expectedResult) { |
|
|
|
|
|
for (int i = 0; i < anzClicks; i++) { |
|
|
|
|
|
_cdPlayer.quieter(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(testDirection.equals("VolumeDecreased")){ |
|
|
|
|
|
for (int i = 0; i < 20; i++) { |
|
|
|
|
|
_cdPlayer.louder(); |
|
|
|
|
|
} |
|
|
|
|
|
for (int i = 0; i < anzClicks; i++) { |
|
|
|
|
|
_cdPlayer.quieter(); |
|
|
|
|
|
} |
|
|
|
|
|
assertThat(_cdPlayer.getVolume()).describedAs(testName).isEqualTo(expectedResult); |
|
|
|
|
|
} |
|
|
|
|
|
if(testDirection.equals("VolumeHasNotChanged")){ |
|
|
|
|
|
assertThat(_cdPlayer.getVolume()).describedAs(testName).isEqualTo(expectedResult); |
|
|
|
|
|
}if(testDirection.equals("VolumeNotIncreased")){ |
|
|
|
|
|
|
|
|
|
|
|
assertThat(_cdPlayer.getVolume()).describedAs(testName).isNotEqualTo(expectedResult); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static Stream<Arguments> quieterTestData () { |
|
|
|
|
|
CDPlayer cdPlayer=new CDPlayer(); |
|
|
|
|
|
return Stream.of( |
|
|
|
|
|
Arguments.of("[getVolume() after 20x quieter() starting by 20] => VolumeHasDecreased","VolumeDecreased", cdPlayer, 19, 1), |
|
|
|
|
|
Arguments.of("[getVolume() after 20x quieter() starting by 0] => VolumeHasNotChanged","VolumeHasNotChanged" ,cdPlayer,20,0), |
|
|
|
|
|
Arguments.of("[getVolume() after 5x quieter() starting by 0] => VolumeNotIncreased","VolumeNotIncreased", cdPlayer,5,5) |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |