Package com.tinkerpop.rexster.extension

Source Code of com.tinkerpop.rexster.extension.ExtensionConfigurationTest

package com.tinkerpop.rexster.extension;

import org.apache.commons.configuration.HierarchicalConfiguration;
import org.junit.Assert;
import org.junit.Test;

import java.util.Map;

public class ExtensionConfigurationTest {

    @Test(expected = IllegalArgumentException.class)
    public void constructEmptyNamespace() {
        new ExtensionConfiguration("", "name", new HierarchicalConfiguration());
    }

    @Test(expected = IllegalArgumentException.class)
    public void constructNullNamespace() {
        new ExtensionConfiguration(null, "name", new HierarchicalConfiguration());
    }

    @Test(expected = IllegalArgumentException.class)
    public void constructEmptyName() {
        new ExtensionConfiguration("ns", "", new HierarchicalConfiguration());
    }

    @Test(expected = IllegalArgumentException.class)
    public void constructNullName() {
        new ExtensionConfiguration("ns", null, new HierarchicalConfiguration());
    }

    @Test(expected = IllegalArgumentException.class)
    public void constructNullConfiguration() {
        new ExtensionConfiguration("ns", "name", null);
    }

    @Test
    public void constructValid() {
        HierarchicalConfiguration hc = new HierarchicalConfiguration();
        ExtensionConfiguration config = new ExtensionConfiguration("ns", "name", hc);

        Assert.assertEquals("ns", config.getNamespace());
        Assert.assertEquals("name", config.getExtensionName());
        Assert.assertEquals(hc, config.getConfiguration());
    }

    @Test
    public void tryGetMapFromConfigurationEmptyConfig() {
        HierarchicalConfiguration hc = new HierarchicalConfiguration();
        ExtensionConfiguration config = new ExtensionConfiguration("ns", "name", hc);

        Map<String, String> map = config.tryGetMapFromConfiguration();
        Assert.assertNotNull(map);
        Assert.assertTrue(map.isEmpty());
    }

    @Test
    public void tryGetMapFromConfigurationBadConfig() {
        HierarchicalConfiguration hc = new HierarchicalConfiguration();
        HierarchicalConfiguration innerHc = new HierarchicalConfiguration();
        innerHc.addProperty("test", "1");
        hc.addProperty("test-bad", innerHc);

        ExtensionConfiguration config = new ExtensionConfiguration("ns", "name", hc);

        Map<String, String> map = config.tryGetMapFromConfiguration();
        Assert.assertNull(map);
    }

    @Test
    public void tryGetMapFromConfigurationNiceConfig() {
        HierarchicalConfiguration hc = new HierarchicalConfiguration();
        hc.addProperty("key1", "value1");
        hc.addProperty("key2", "value2");
        ExtensionConfiguration config = new ExtensionConfiguration("ns", "name", hc);

        Map<String, String> map = config.tryGetMapFromConfiguration();
        Assert.assertNotNull(map);
        Assert.assertTrue(map.containsKey("key1"));
        Assert.assertEquals("value1", map.get("key1"));
        Assert.assertTrue(map.containsKey("key2"));
        Assert.assertEquals("value2", map.get("key2"));
    }

    @Test
    public void shouldEqual() {
        HierarchicalConfiguration hc1 = new HierarchicalConfiguration();
        hc1.addProperty("key1", "value1");
        hc1.addProperty("key2", "value2");
        ExtensionConfiguration config1 = new ExtensionConfiguration("ns", "name", hc1);

        HierarchicalConfiguration hc2 = new HierarchicalConfiguration();
        hc2.addProperty("key1", "value1");
        hc2.addProperty("key2", "value2");
        ExtensionConfiguration config2 = new ExtensionConfiguration("ns", "name", hc2);

        Assert.assertTrue(config1.equals(config2));
    }

    @Test
    public void shouldNotEqualWhenValuesInConfigAreDifferent() {
        HierarchicalConfiguration hc1 = new HierarchicalConfiguration();
        hc1.addProperty("key1", "value1");
        hc1.addProperty("key2", "value2");
        ExtensionConfiguration config1 = new ExtensionConfiguration("ns", "name", hc1);

        HierarchicalConfiguration hc2 = new HierarchicalConfiguration();
        hc2.addProperty("key1", "value1");
        hc2.addProperty("key2", "value-not the same");
        ExtensionConfiguration config2 = new ExtensionConfiguration("ns", "name", hc2);

        Assert.assertFalse(config1.equals(config2));
    }

    @Test
    public void shouldNotEqualWhenMissingKeyInConfig() {
        HierarchicalConfiguration hc1 = new HierarchicalConfiguration();
        hc1.addProperty("key1", "value1");
        hc1.addProperty("key2", "value2");
        ExtensionConfiguration config1 = new ExtensionConfiguration("ns", "name", hc1);

        HierarchicalConfiguration hc2 = new HierarchicalConfiguration();
        hc2.addProperty("key1", "value1");
        ExtensionConfiguration config2 = new ExtensionConfiguration("ns", "name", hc2);

        Assert.assertFalse(config1.equals(config2));
    }

    @Test
    public void shouldNotEqualWhenConfig1HasKeyConfig2DoesNot() {
        HierarchicalConfiguration hc1 = new HierarchicalConfiguration();
        hc1.addProperty("key1", "value1");
        hc1.addProperty("key2", "value2");
        ExtensionConfiguration config1 = new ExtensionConfiguration("ns", "name", hc1);

        HierarchicalConfiguration hc2 = new HierarchicalConfiguration();
        hc2.addProperty("key1", "value1");
        hc2.addProperty("new-key", "value1");
        ExtensionConfiguration config2 = new ExtensionConfiguration("ns", "name", hc2);

        Assert.assertFalse(config1.equals(config2));
    }

    @Test
    public void shouldNotEqualWhenConfig2HasAllKeysFromConfig1ButAlsoANewOne() {
        HierarchicalConfiguration hc1 = new HierarchicalConfiguration();
        hc1.addProperty("key1", "value1");
        ExtensionConfiguration config1 = new ExtensionConfiguration("ns", "name", hc1);

        HierarchicalConfiguration hc2 = new HierarchicalConfiguration();
        hc2.addProperty("key1", "value1");
        hc2.addProperty("new-key", "value1");
        ExtensionConfiguration config2 = new ExtensionConfiguration("ns", "name", hc2);

        Assert.assertFalse(config1.equals(config2));
    }

    @Test
    public void shouldNotEqualWhenValuesInConfigAreDifferentDeeperInHierarchy() {
        HierarchicalConfiguration hc1 = new HierarchicalConfiguration();
        hc1.addProperty("key1", "value1");
        HierarchicalConfiguration hc1i = new HierarchicalConfiguration();
        hc1i.addProperty("key2i", "value2i");
        hc1.addProperty("key2", hc1i);

        ExtensionConfiguration config1 = new ExtensionConfiguration("ns", "name", hc1);

        HierarchicalConfiguration hc2 = new HierarchicalConfiguration();
        hc2.addProperty("key1", "value1");

        HierarchicalConfiguration hc2i = new HierarchicalConfiguration();
        hc2i.addProperty("key2i", "value-not the same");
        hc2.addProperty("key2", hc2i);
        ExtensionConfiguration config2 = new ExtensionConfiguration("ns", "name", hc2);

        Assert.assertFalse(config1.equals(config2));
    }

    @Test
    public void shouldEqualWhenValuesInConfigAreSameDeeperInHierarchy() {
        HierarchicalConfiguration hc1 = new HierarchicalConfiguration();
        hc1.addProperty("key1", "value1");
        HierarchicalConfiguration hc1i = new HierarchicalConfiguration();
        hc1i.addProperty("key2i", "value2i");
        hc1.addProperty("key2", hc1i);

        ExtensionConfiguration config1 = new ExtensionConfiguration("ns", "name", hc1);

        HierarchicalConfiguration hc2 = new HierarchicalConfiguration();
        hc2.addProperty("key1", "value1");

        HierarchicalConfiguration hc2i = new HierarchicalConfiguration();
        hc2i.addProperty("key2i", "value2i");
        hc2.addProperty("key2", hc2i);
        ExtensionConfiguration config2 = new ExtensionConfiguration("ns", "name", hc2);

        Assert.assertTrue(config1.equals(config2));
    }
}
TOP

Related Classes of com.tinkerpop.rexster.extension.ExtensionConfigurationTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.