Package org.geoserver.catalog.impl

Source Code of org.geoserver.catalog.impl.ModificationProxyClonerTest

package org.geoserver.catalog.impl;

import static org.junit.Assert.*;

import org.geotools.jdbc.VirtualTable;
import org.junit.Test;

public class ModificationProxyClonerTest {

    @Test
    public void testCloneNull() {
        Object copy = ModificationProxyCloner.clone(null);
        assertNull(copy);
    }
   
    @Test
    public void testCloneString() {
        String source = new String("abc");
        String copy = ModificationProxyCloner.clone(source);
        assertSame(source, copy);
    }
   
    @Test
    public void testCloneDouble() {
        Double source = new Double(12.56);
        Double copy = ModificationProxyCloner.clone(source);
        assertSame(source, copy);
    }
   
    @Test
    public void testCloneCloneable() {
        TestCloneable source = new TestCloneable("test");
        TestCloneable copy = ModificationProxyCloner.clone(source);
        assertNotSame(source, copy);
        assertEquals(source, copy);
    }
   
    @Test
    public void testByCopyConstructor() {
        VirtualTable source = new VirtualTable("test", "select * from tables");
        VirtualTable copy = ModificationProxyCloner.clone(source);
        assertNotSame(source, copy);
        assertEquals(source, copy);
    }
   
    @Test
    public void testNotCloneable() {
        TestNotCloneable source = new TestNotCloneable("test");
        TestNotCloneable copy = ModificationProxyCloner.clone(source);
        assertNotSame(source, copy);
        assertEquals(source, copy);
    }
   
   
    static class TestNotCloneable {
       
        private String myState;

        public TestNotCloneable(String myState) {
            this.myState = myState;
        }
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + ((myState == null) ? 0 : myState.hashCode());
            return result;
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            TestNotCloneable other = (TestNotCloneable) obj;
            if (myState == null) {
                if (other.myState != null)
                    return false;
            } else if (!myState.equals(other.myState))
                return false;
            return true;
        }
    }

   
    static class TestCloneable extends TestNotCloneable {
       
        public TestCloneable(String myState) {
            super(myState);
        }
       
        @Override
        public Object clone() throws CloneNotSupportedException {
            return super.clone();
        }

    }
}
TOP

Related Classes of org.geoserver.catalog.impl.ModificationProxyClonerTest

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.