Subversion Repositories mkgmap

Rev

Rev 2386 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
 * Copyright (C) 2008 Steve Ratcliffe
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 or
 * version 2 as published by the Free Software Foundation.
 *
 * 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.
 */

/* Create date: 08-Aug-2009 */
package uk.me.parabola.mkgmap;

import org.junit.Test;

import static org.junit.Assert.*;


public class OptionTest {
        /** If an option does not have a value, then the value is the empty
         * string.
         */

        @Test
        public void testOptionWithoutValue() {
                Option o = new Option("hello");
                assertEquals("name", "hello", o.getOption());
                assertEquals("value", "", o.getValue());
        }


        @Test
        public void testOption() {
                Option o = new Option("hello", "world");
                assertEquals("name", "hello", o.getOption());
                assertEquals("value", "world", o.getValue());
                assertFalse("not experimental", o.isExperimental());
        }

        /**
         * Regular option, parsed in constructor.
         */

        @Test
        public void testParseOption() {
                Option o = new Option("hello=world");
                assertEquals("name", "hello", o.getOption());
                assertEquals("value", "world", o.getValue());
                assertFalse("not experimental", o.isExperimental());
        }

        /**
         * Test for an experimental option.  These begin with 'x-' but are otherwise
         * treated as if the 'x-' was not there.
         */

        @Test
        public void testIsExperimental() {
                Option o = new Option("x-hello=world");
                assertEquals("name", "hello", o.getOption());
                assertEquals("value", "world", o.getValue());
                assertTrue("experimental", o.isExperimental());
        }

        /**
         * Test for an negative option eg: no-route. These begin with the prefix 'no-'.
         * The option name is without the prefix and a flag is set to show that the option
         * is being reset.
         */

        @Test
        public void testOptionReset() {
                Option o = new Option("no-hello");
                assertEquals("name", "hello", o.getOption());
                assertEquals("value", null, o.getValue());
                assertTrue("reset", o.isReset());
        }
}