Bug 568167: [RJ-Data] Add unit tests for R*Store.isNaN

Change-Id: I412cb49b5f39fcfb61f3a870062fc615ecfad624
diff --git a/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RComplexStoreTest.java b/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RComplexStoreTest.java
index 2959445..525ccd8 100644
--- a/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RComplexStoreTest.java
+++ b/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RComplexStoreTest.java
@@ -193,6 +193,30 @@
 	
 	@ParameterizedTest
 	@MethodSource("provideCaseDatas")
+	public void isNaN(final CplxCaseData data) {
+		final RComplexStore store= createStore(data);
+		
+		for (int i= 0; i < data.length; i++) {
+			final int i0= i;
+			if (data.nas[i0]) {
+				assertFalse(store.isNaN(i0), storeDiffersAt(i0));
+				assertFalse(store.isNaN((long)i0), storeDiffersAt(i0));
+			}
+			else if (Double.isNaN(data.realValues[i0])) {
+				assertTrue(store.isNaN(i0), storeDiffersAt(i0));
+				assertTrue(store.isNaN((long)i0), storeDiffersAt(i0));
+			}
+			else {
+				assertFalse(store.isNaN(i0), storeDiffersAt(i0));
+				assertFalse(store.isNaN((long)i0), storeDiffersAt(i0));
+			}
+		}
+		assertIndexOutOfBounds(data, store::isMissing, store::isMissing);
+	}
+	
+	
+	@ParameterizedTest
+	@MethodSource("provideCaseDatas")
 	public void getLogi(final CplxCaseData data) {
 		final RComplexStore store= createStore(data);
 		
diff --git a/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RNumericStoreTest.java b/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RNumericStoreTest.java
index f07ed2e..f56a203 100644
--- a/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RNumericStoreTest.java
+++ b/core/org.eclipse.statet.rj.data-tests/src/org/eclipse/statet/rj/data/impl/RNumericStoreTest.java
@@ -183,6 +183,30 @@
 	
 	@ParameterizedTest
 	@MethodSource("provideCaseDatas")
+	public void isNaN(final NumCaseData data) {
+		final RNumericStore store= createStore(data);
+		
+		for (int i= 0; i < data.length; i++) {
+			final int i0= i;
+			if (data.nas[i0]) {
+				assertFalse(store.isNaN(i0), storeDiffersAt(i0));
+				assertFalse(store.isNaN((long)i0), storeDiffersAt(i0));
+			}
+			else if (Double.isNaN(data.values[i0])) {
+				assertTrue(store.isNaN(i0), storeDiffersAt(i0));
+				assertTrue(store.isNaN((long)i0), storeDiffersAt(i0));
+			}
+			else {
+				assertFalse(store.isNaN(i0), storeDiffersAt(i0));
+				assertFalse(store.isNaN((long)i0), storeDiffersAt(i0));
+			}
+		}
+		assertIndexOutOfBounds(data, store::isMissing, store::isMissing);
+	}
+	
+	
+	@ParameterizedTest
+	@MethodSource("provideCaseDatas")
 	@SuppressWarnings("boxing")
 	public void getLogi(final NumCaseData data) {
 		final RNumericStore store= createStore(data);