// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataquality.statistics.numeric.summary; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.talend.dataquality.statistics.type.DataTypeEnum; public class MeanValueAnalyzerTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testAnalyze() { // 1. test with values of all double. String[] dValues = new String[] { "20", "0.3", "3", "4.5", "8" }; SummaryAnalyzer meanAnalyzer = new SummaryAnalyzer(new DataTypeEnum[] { DataTypeEnum.DOUBLE }); meanAnalyzer.init(); for (String strValue : dValues) { meanAnalyzer.analyze(strValue); } meanAnalyzer.end(); Assert.assertEquals(7.16, meanAnalyzer.getResult().get(0).getMean(), 0.001); // 2. assert with only one digits dValues = new String[] { "10" }; meanAnalyzer.init(); for (String strValue : dValues) { meanAnalyzer.analyze(strValue); } meanAnalyzer.end(); Assert.assertEquals(10, meanAnalyzer.getResult().get(0).getMean(), 0); // 3. assert with values contain a str meanAnalyzer.init(); dValues = new String[] { "20", "a str", "3", "4.5", "8" }; for (String strValue : dValues) { meanAnalyzer.analyze(strValue); } meanAnalyzer.end(); Assert.assertEquals(8.875, meanAnalyzer.getResult().get(0).getMean(), 0); // 4. assert with empty meanAnalyzer.init(); dValues = new String[] { "" }; for (String strValue : dValues) { meanAnalyzer.analyze(strValue); } meanAnalyzer.end(); Assert.assertTrue(Double.isNaN(meanAnalyzer.getResult().get(0).getMean())); } }