Package me.uits.aiphial.general.dataStore

Source Code of me.uits.aiphial.general.dataStore.DataStoreTest

/*
*
* This file is part of Aiphial.
*
* Copyright (c) 2010 Nicolay Mitropolsky <NicolayMitropolsky@gmail.com>
*
* This program 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 2 of the License, or
* (at your option) any later version.
*
* 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 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 me.uits.aiphial.general.dataStore;

import me.uits.aiphial.general.dataStore.DataStore;
import me.uits.aiphial.general.dataStore.NDimPoint;
import me.uits.aiphial.general.dataStore.SimpleNDimPoint;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.*;

/**
*
* @author Nicolay Mitropolsky <NicolayMitropolsky@gmail.com>
*/
@Ignore
public abstract class DataStoreTest
{

    public DataStoreTest()
    {

    }

    public abstract <T extends NDimPoint> DataStore<T> getDatastoreInstance(int dimention);


    @BeforeClass
    public static void setUpClass() throws Exception
    {
    }

    @AfterClass
    public static void tearDownClass() throws Exception
    {

    }

    @Test
    public void testGetNearest()
    {

        DataStore<NDimPoint> ds = getDatastoreInstance(5);

        Float[] ar = new Float[]
        {
            1f, 2f, 3f, 4f, 5f
        };

        NDimPoint ndp = new SimpleNDimPoint(ar);

        ds.addOrGet(ndp);

        NDimPoint nearest = ds.getNearest(new SimpleNDimPoint(8f, 0f, 5f, 9f, 5f));

        assertEquals(ndp,nearest);

        System.out.println();

    }

    @Test
    public void testGetEmpty()
    {

        DataStore<SimpleNDimPoint> ds = getDatastoreInstance(5);
        //ds.setWindow(1f, 8f, 1f, 1f, 1f);


        Collection<SimpleNDimPoint> withinWindow = ds.getWithinWindow(new SimpleNDimPoint(1f, 2f, 3f, 4f, 5f),new SimpleNDimPoint(1f, 8f, 1f, 1f, 1f));


        assertTrue(withinWindow.isEmpty());

    }

    @Test
    public void testGetWithinWindow()
    {

        DataStore<SimpleNDimPoint> ds = getDatastoreInstance(5);
        //ds.setWindow(1f, 8f, 1f, 1f, 1f);

        Set<SimpleNDimPoint> inWindow = new HashSet<SimpleNDimPoint>();
        inWindow.add(new SimpleNDimPoint(
                1f, 2f, 3f, 4f, 5f));
        inWindow.add(new SimpleNDimPoint(
                1f, 3f, 3f, 4f, 5f));

        for (SimpleNDimPoint points : inWindow)
        {
            ds.addOrGet(points);
        }

        ds.addOrGet(new SimpleNDimPoint(1f, 2f, 3f, 4f, 50f));
        ds.addOrGet(new SimpleNDimPoint(1f, 30f, 3f, 4f, 5f));


        Collection<SimpleNDimPoint> withinWindow = ds.getWithinWindow(new SimpleNDimPoint(1f, 8f, 1f, 1f, 1f),new SimpleNDimPoint(1f, 2f, 3f, 4f, 5f));


        assertTrue(inWindow.containsAll(withinWindow) && withinWindow.containsAll(inWindow));

    }

    @Test
    public void testGetWithinWindow2()
    {

        DataStore<SimpleNDimPoint> ds = getDatastoreInstance(5);

        Set<SimpleNDimPoint> inWindow = new HashSet<SimpleNDimPoint>();
        inWindow.add(new SimpleNDimPoint(
                1f, 2f, 3f, 4f, 5f));
        inWindow.add(new SimpleNDimPoint(
                1f, 3f, 3f, 4f, 5f));

        for (SimpleNDimPoint points : inWindow)
        {
            ds.addOrGet(points);
        }

        ds.addOrGet(new SimpleNDimPoint(1f, 2f, 3f, 4f, 50f));
        ds.addOrGet(new SimpleNDimPoint(1f, 30f, 3f, 4f, 5f));



        Collection<SimpleNDimPoint> withinWindow = ds.getWithinWindow(new SimpleNDimPoint(1f, 8f, 1f, 1f, 1f), new SimpleNDimPoint(1f, 2f, 3f, 4f, 5f));


        assertTrue(inWindow.containsAll(withinWindow) && withinWindow.containsAll(inWindow));

    }

    @Test
    public void testRemoveAndIsEmmpty()
    {
        DataStore<SimpleNDimPoint> ds = getDatastoreInstance(4);

        Set<SimpleNDimPoint> firstCulster = new HashSet<SimpleNDimPoint>();
        firstCulster.add(new SimpleNDimPoint(1f, 2f, 3f, 7f));
        firstCulster.add(new SimpleNDimPoint(1f, 2f, 4f, 5f));
        firstCulster.add(new SimpleNDimPoint(3f, 6f, 2f, 4f));
        firstCulster.add(new SimpleNDimPoint(5f, 20f, 7f, 3f));
        firstCulster.add(new SimpleNDimPoint(3f, 1f, 2f, 6f));
        firstCulster.add(new SimpleNDimPoint(13f, 2f, 3f, 7f));


        ds.addAll(firstCulster);

        Set<SimpleNDimPoint> secondCulster = new HashSet<SimpleNDimPoint>();
        secondCulster.add(new SimpleNDimPoint(2f, 2f, 3f, 7f));
        secondCulster.add(new SimpleNDimPoint(2f, 2f, 4f, 5f));
        secondCulster.add(new SimpleNDimPoint(4f, 6f, 2f, 4f));
        secondCulster.add(new SimpleNDimPoint(6f, 20f, 7f, 3f));
        secondCulster.add(new SimpleNDimPoint(4f, 1f, 2f, 6f));
        secondCulster.add(new SimpleNDimPoint(14f, 2f, 3f, 7f));

        ds.addAll(secondCulster);

        for (SimpleNDimPoint simpleNDimPoint : firstCulster)
        {
            ds.remove(simpleNDimPoint);
        }
       
        List<SimpleNDimPoint> asList = ds.asList();
       
        assertTrue(asList.containsAll(secondCulster) && secondCulster.containsAll(asList));


        for (SimpleNDimPoint simpleNDimPoint : secondCulster)
        {
            ds.remove(simpleNDimPoint);
        }

        assertTrue(ds.isEmpty());

    }

    @Test
    public void removeWithinWindow()
    {
        DataStore<SimpleNDimPoint> ds = getDatastoreInstance(4);

        //ds.setWindow(2f,2f,2f,2f);

        Collection<SimpleNDimPoint> firstCulster = new ArrayList<SimpleNDimPoint>();
        firstCulster.add(new SimpleNDimPoint(1f, 2f, 3f, 4f));
        firstCulster.add(new SimpleNDimPoint(1f, 2f, 4f, 4f));
        firstCulster.add(new SimpleNDimPoint(1f, 3f, 3f, 4f));
        firstCulster.add(new SimpleNDimPoint(1f, 1f, 4f, 4f));
        firstCulster.add(new SimpleNDimPoint(1f, 1f, 4f, 4f));
        firstCulster.add(new SimpleNDimPoint(1f, 2f, 3f, 5f));
        firstCulster.add(new SimpleNDimPoint(2f, 2f, 3f, 4f));


        ds.addAll(firstCulster);

        Collection<SimpleNDimPoint> secondCulster = new ArrayList<SimpleNDimPoint>();
        secondCulster.add(new SimpleNDimPoint(20f, 20f, 30f, 70f));
        secondCulster.add(new SimpleNDimPoint(20f, 2f, 4f, 5f));
        secondCulster.add(new SimpleNDimPoint(4f, 60f, 2f, 4f));
        secondCulster.add(new SimpleNDimPoint(6f, 20f, 7f, 3f));
        secondCulster.add(new SimpleNDimPoint(40f, 1f, 2f, 6f));
        secondCulster.add(new SimpleNDimPoint(140f, 2f, 3f, 7f));

        ds.addAll(secondCulster);



        Collection<SimpleNDimPoint> withinWindow = ds.removeWithinWindow(new SimpleNDimPoint(1f, 2f, 3f, 4f),new SimpleNDimPoint(2f,2f,2f,2f));

        assertTrue(withinWindow.containsAll(firstCulster) && firstCulster.containsAll(withinWindow));

        List asList = ds.asList();

        for (SimpleNDimPoint simpleNDimPoint : firstCulster)
        {
            assertFalse(asList.contains(simpleNDimPoint));
        }
       

        for (SimpleNDimPoint simpleNDimPoint : secondCulster)
        {
            ds.remove(simpleNDimPoint);
        }

        assertTrue(ds.isEmpty());

    }


    @Test
    public void testIterate()
    {

        DataStore<SimpleNDimPoint> ds = getDatastoreInstance(5);
//        ds.setWindow(1f, 8f, 1f, 1f, 1f);

        Set<SimpleNDimPoint> srcData = new HashSet<SimpleNDimPoint>();
        srcData.add(new SimpleNDimPoint(
                1f, 2f, 3f, 4f, 5f));
        srcData.add(new SimpleNDimPoint(
                1f, 2f, 3f, 4f, 5.1f));
        srcData.add(new SimpleNDimPoint(
                1f, 2f, 3f, 4f, 4.99f));
        srcData.add(new SimpleNDimPoint(
                1f, 3f, 3f, 4f, 5f));
        /* srcData.addOrGet(new SimpleNDimPoint(
        1f, 3f, 3f, 4f, 5f));*/
        srcData.add(new SimpleNDimPoint(
                7f, 8f, 3f, 2f, 8f));
        srcData.add(new SimpleNDimPoint(
                8f, 2f, -3f, 4f, 2f));
        srcData.add(new SimpleNDimPoint(
                8f, 5f, 4f, 7f, 25f));

        for (SimpleNDimPoint points : srcData)
        {
            ds.addOrGet(points);
        }


        Set<SimpleNDimPoint> finData = new HashSet<SimpleNDimPoint>();

        for (SimpleNDimPoint point : ds)
        {
            finData.add(point);
        }




        assertTrue(srcData.containsAll(finData) && finData.containsAll(srcData));
    }
}
TOP

Related Classes of me.uits.aiphial.general.dataStore.DataStoreTest

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.