static List<HdfEosGridInfo> getCompatibleGridInfos(List<HdfEosGridInfo> allGridInfos) { List<HdfEosGridInfo> compatibleGridInfos = new ArrayList<HdfEosGridInfo>(); if (allGridInfos.isEmpty()) { return compatibleGridInfos; } HdfEosGridInfo first = allGridInfos.get(0); for (HdfEosGridInfo gridInfo : allGridInfos) { if (first.equalProjections(gridInfo)) { compatibleGridInfos.add(gridInfo); } } return compatibleGridInfos; }
@Test public void testGridInfosAreNotEqual() throws Exception { HdfEosGridInfo gridInfo1 = new HdfEosGridInfo("testName", -120, 50.1, -100, 40, "Sinusoidal"); HdfEosGridInfo gridInfo2 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); assertFalse(gridInfo1.equalProjections(gridInfo2)); }
@Test public void testGridInfosAreEqual() throws Exception { HdfEosGridInfo gridInfo1 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); HdfEosGridInfo gridInfo2 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); assertTrue(gridInfo1.equalProjections(gridInfo2)); }
@Test public void testEqualProjectionsWithProjParamsNullParamsAreNotEqual() throws Exception { HdfEosGridInfo gridInfo1 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); gridInfo1.setProjectionParameter(PROJ_PARAMS); HdfEosGridInfo gridInfo2 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); gridInfo2.setProjectionParameter(null); assertFalse(gridInfo1.equalProjections(gridInfo2)); } }
@Test public void testGridInfosWithProjParamsAreEqual() throws Exception { HdfEosGridInfo gridInfo1 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); gridInfo1.setProjectionParameter(PROJ_PARAMS); HdfEosGridInfo gridInfo2 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); gridInfo2.setProjectionParameter(PROJ_PARAMS); assertTrue(gridInfo1.equalProjections(gridInfo2)); }
@Test public void testGridInfosWithProjParamsAreNotEqual() throws Exception { HdfEosGridInfo gridInfo1 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); gridInfo1.setProjectionParameter(PROJ_PARAMS); HdfEosGridInfo gridInfo2 = new HdfEosGridInfo("testName", -120, 50, -100, 40, "Sinusoidal"); double[] projParams2 = PROJ_PARAMS.clone(); projParams2[4] = 42.42; gridInfo2.setProjectionParameter(projParams2); assertFalse(gridInfo1.equalProjections(gridInfo2)); }