/* * Copyright (c) 2012 Diamond Light Source Ltd. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package uk.ac.diamond.scisoft.analysis.fitting; import java.util.ArrayList; import org.eclipse.dawnsci.analysis.api.fitting.functions.IPeak; import org.eclipse.january.dataset.Dataset; import org.eclipse.january.dataset.DatasetFactory; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import uk.ac.diamond.scisoft.analysis.fitting.functions.Gaussian; public class CalibrationUtilsTest { ArrayList<IPeak> peaks= new ArrayList<IPeak>(); @Before public void initialize() { for (int i = 0; i < 20; i++) { peaks.add(new Gaussian(i,1,1)); } } @Test public void testGetPeakList() { ArrayList<IPeak> peaks = new ArrayList<IPeak>(); for (int i = 0; i < 20; i++) { peaks.add(new Gaussian(i,1,1)); } Dataset result = CalibrationUtils.getPeakList(peaks); for (int i = 0; i < 20; i++) { Assert.assertEquals(result.getDouble(i), i, 0.001); } } @Test public void selectSpecifiedPeaks() { Dataset testpoints = DatasetFactory.createRange(0, 19, 2.2, Dataset.FLOAT64); Dataset calibPoints = CalibrationUtils.selectSpecifiedPeaks(testpoints, peaks); for (int i = 0; i < testpoints.getShape()[0]; i++) { Assert.assertEquals(Math.round(testpoints.getDouble(i)), calibPoints.getDouble(i), 0.001); } } }