commit a2afdaf36785bb1ea83c8997abb67b81d8733bb9
parent 1b527cd3f28014296ee71c460f6f45015bf2f4c1
Author: gstraube <gstraube@mailbox.org>
Date: Fri, 2 Nov 2018 16:21:10 +0100
Fix test (issue #20)
Signed-off-by: gstraube <gstraube@mailbox.org>
Diffstat:
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
@@ -44,8 +44,10 @@ dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.jaredrummler:material-spinner:1.2.5'
implementation 'com.shawnlin:number-picker:2.4.6'
+ implementation group: 'org.powermock', name: 'powermock-api-mockito2', version: '1.7.4'
testImplementation 'junit:junit:4.12'
testImplementation group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
testImplementation group: 'org.robolectric', name: 'robolectric', version: '3.8' //4.0-alpha-3
+ testImplementation group: 'org.powermock', name: 'powermock-module-junit4', version: '1.7.4'
}
diff --git a/app/src/test/java/com/github/cythara/PitchComparatorTest.java b/app/src/test/java/com/github/cythara/PitchComparatorTest.java
@@ -1,19 +1,35 @@
package com.github.cythara;
-import org.junit.Assert;
+import com.github.cythara.tuning.GuitarTuning;
+
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
import java.util.HashMap;
import java.util.Map;
-import static com.github.cythara.tuning.GuitarTuning.Pitch.*;
+import static com.github.cythara.tuning.GuitarTuning.Pitch.D3;
+import static com.github.cythara.tuning.GuitarTuning.Pitch.E2;
+import static com.github.cythara.tuning.GuitarTuning.Pitch.E4;
+import static com.github.cythara.tuning.GuitarTuning.Pitch.G3;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.Matchers.closeTo;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(MainActivity.class)
public class PitchComparatorTest {
@Test
- public void retrieveNote() throws Exception {
+ public void retrieveNote() {
+ PowerMockito.mockStatic(MainActivity.class);
+ Mockito.when(MainActivity.getCurrentTuning()).thenReturn(new GuitarTuning());
+
Map<Float, PitchDifference> expectations = new HashMap<>();
expectations.put(20f, new PitchDifference(E2, -2451.3202694972874));
expectations.put(500f, new PitchDifference(E4, 721.3071582323822));
@@ -24,8 +40,9 @@ public class PitchComparatorTest {
PitchDifference actual = PitchComparator.retrieveNote(pitch);
PitchDifference expected = expectations.get(pitch);
- Assert.assertThat(actual.closest, is(expected.closest));
- Assert.assertThat(actual.deviation, closeTo(expected.deviation, 0.001));
+ assertNotNull(expected);
+ assertThat(actual.closest, is(expected.closest));
+ assertThat(actual.deviation, closeTo(expected.deviation, 0.001));
}
}
}