GranuleCtrlTest.java 2.68 KB
/*
 * This file is a part of EpnTAPClient.
 * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
 * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
 * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
 *
 * This program is free software: you can
 * redistribute it and/or modify it under the terms of the GNU General Public License as published
 * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
 * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
 * the GNU General Public License along with this program. If not, see
 * <http://www.gnu.org/licenses/>.
 */

package eu.omp.irap.vespa.epntapclient.granule;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.util.List;

import org.junit.Test;

import eu.omp.irap.vespa.votable.votable.VOTableException.CanNotParseDataException;
import eu.omp.irap.vespa.votable.votabledata.VoTableDataTest;

/**
 * @author N. Jourdane
 */
public class GranuleCtrlTest {

	/** The granule controller, initialized with {@link VoTableDataTest#createVoTableData()}. */
	GranuleCtrl granuleCtrl;


	/**
	 * Constructor of GranuleCtrlTest.
	 */
	public GranuleCtrlTest() {
		granuleCtrl = new GranuleCtrl(VoTableDataTest.createVoTableData());
	}

	/**
	 * Test the method {@link GranuleCtrl#getGranuleFromVOTableRow(int)} by comparing the granules
	 * with voTableData.
	 */
	@Test
	public void getGranuleFromVOTableRowTest() {
		Granule g1 = null;
		Granule g2 = null;
		try {
			g1 = granuleCtrl.getGranuleFromVOTableRow(0);
			g2 = granuleCtrl.getGranuleFromVOTableRow(1);
		} catch (CanNotParseDataException e) {
			fail("Can not parse granule: " + e.getMessage());
		}
		assertNotNull(g1);
		assertNotNull(g2);
		assertTrue(g1.equals(GranuleTest.createGranule1()));
		assertTrue(g2.equals(GranuleTest.createGranule2()));
	}

	/**
	 * Test the method {@link GranuleCtrl#getGranules()} by comparing the granules with voTableData.
	 */
	@Test
	public void getGranulesTest() {
		List<Granule> granules = null;
		try {
			granules = granuleCtrl.getGranules();
		} catch (CanNotParseDataException e) {
			fail("Can not parse granule: " + e.getMessage());
		}
		assertNotNull(granules);
		assertTrue(granules.get(0).equals(GranuleTest.createGranule1()));
		assertTrue(granules.get(1).equals(GranuleTest.createGranule2()));
	}
}