/* * This file is part of muCommander, http://www.mucommander.com * Copyright (C) 2002-2016 Maxence Bernard * * muCommander is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * muCommander 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.mucommander.commons.conf; /** * Test case for the {@link ValueIterator} class. * @author Nicolas Rinaudo */ public class ValueIteratorTest extends ValueListTest { /** * Tests the {@link ValueIterator#nextValue()} method. * @param values test data. */ @Override protected void testStringValues(ValueList values) { ValueIterator iterator; iterator = values.valueIterator(); for(int i = 0; i < 7; i++) { assert iterator.hasNext(); assert Integer.toString(i + 1).equals(iterator.nextValue()); } assert !iterator.hasNext(); } /** * Tests the {@link ValueIterator#nextIntegerValue()} method. * @param values test data. */ @Override protected void testIntegerValues(ValueList values) { ValueIterator iterator; iterator = values.valueIterator(); for(int i = 0; i < 7; i++) { assert iterator.hasNext(); assert i + 1 == iterator.nextIntegerValue(); } assert !iterator.hasNext(); } /** * Tests the {@link ValueIterator#nextLongValue()} method. * @param values test data. */ @Override protected void testLongValues(ValueList values) { ValueIterator iterator; iterator = values.valueIterator(); for(int i = 0; i < 7; i++) { assert iterator.hasNext(); assert i + 1 == iterator.nextLongValue(); } } /** * Tests the {@link ValueIterator#nextFloatValue()} method. * @param values test data. */ @Override protected void testFloatValues(ValueList values) { ValueIterator iterator; iterator = values.valueIterator(); for(int i = 0; i < 7; i++) { assert iterator.hasNext(); assert i + 1.5 == iterator.nextFloatValue(); } } /** * Tests the {@link ValueIterator#nextDoubleValue()} method. * @param values test data. */ @Override protected void testDoubleValues(ValueList values) { ValueIterator iterator; iterator = values.valueIterator(); for(int i = 0; i < 7; i++) { assert iterator.hasNext(); assert i + 1.5 == iterator.nextDoubleValue(); } } /** * Tests the {@link ValueIterator#nextBooleanValue()} method. * @param values test data. */ @Override protected void testBooleanValues(ValueList values) { ValueIterator iterator; iterator = values.valueIterator(); for(int i = 0; i < 7; i++) { assert iterator.hasNext(); assert (i % 2 == 0) == iterator.nextBooleanValue(); } } /** * Tests the {@link ValueIterator#nextListValue(String)} method. * @param values test data. * @param separator separator to use when creating list values. */ @Override protected void testListValues(ValueList values, String separator) { ValueIterator iterator; iterator = values.valueIterator(); assert iterator.hasNext(); testStringValues(iterator.nextListValue(separator)); assert iterator.hasNext(); testIntegerValues(iterator.nextListValue(separator)); assert iterator.hasNext(); testLongValues(iterator.nextListValue(separator)); assert iterator.hasNext(); testFloatValues(iterator.nextListValue(separator)); assert iterator.hasNext(); testDoubleValues(iterator.nextListValue(separator)); assert iterator.hasNext(); testBooleanValues(iterator.nextListValue(separator)); assert !iterator.hasNext(); } }