Package redis.clients.johm

Source Code of redis.clients.johm.CollectionsDataTypeTest

package redis.clients.johm;

import java.util.Arrays;

import org.junit.Test;

import redis.clients.johm.models.Country;
import redis.clients.johm.models.Distribution;
import redis.clients.johm.models.Item;
import redis.clients.johm.models.User;

public class CollectionsDataTypeTest extends JOhmTestBase {
    @Test
    public void testMapDataTypeCombinations() {
        Distribution distro = new Distribution();
        distro.setDistroScope("World");
        JOhm.save(distro);

        // K = Primitive, V = Primitive
        distro.getAgeNameDistribution().put(10, "John");
        distro.getAgeNameDistribution().put(35, "Doe");

        Distribution savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(2, savedDistro.getAgeNameDistribution().size());

        assertEquals("John", savedDistro.getAgeNameDistribution().get(10));
        assertEquals("Doe", savedDistro.getAgeNameDistribution().get(35));

        distro.getAgeNameDistribution().remove(10);
        distro.getAgeNameDistribution().remove(35);
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(0, savedDistro.getAgeNameDistribution().size());

        // K = Model, V = Primitive
        Country country1 = new Country();
        country1.setName("FriendlyCountry");
        JOhm.save(country1);
        Country country2 = new Country();
        country2.setName("AngryCountry");
        JOhm.save(country2);

        distro.getCountryAverageAgeDistribution().put(country1, 30);
        distro.getCountryAverageAgeDistribution().put(country2, 90);
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(2, savedDistro.getCountryAverageAgeDistribution().size());

        assertTrue(30 == savedDistro.getCountryAverageAgeDistribution().get(
                country1));
        assertTrue(90 == savedDistro.getCountryAverageAgeDistribution().get(
                country2));

        distro.getCountryAverageAgeDistribution().remove(country1);
        distro.getCountryAverageAgeDistribution().remove(country2);
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(0, savedDistro.getCountryAverageAgeDistribution().size());

        // K = Primitive, V = Model
        distro.getNameCountryDistribution().put("John", country1);
        distro.getNameCountryDistribution().put("Doe", country2);

        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(2, savedDistro.getNameCountryDistribution().size());

        assertEquals(country1, savedDistro.getNameCountryDistribution().get(
                "John"));
        assertEquals(country2, savedDistro.getNameCountryDistribution().get(
                "Doe"));

        distro.getNameCountryDistribution().remove("John");
        distro.getNameCountryDistribution().remove("Doe");
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(0, savedDistro.getNameCountryDistribution().size());

        // K = Model, V = Model
        User user1 = new User();
        user1.setName("Happy");
        JOhm.save(user1);
        User user2 = new User();
        user2.setName("Frightened");
        JOhm.save(user2);

        distro.getUserCitizenshipDistribution().put(user1, country1);
        distro.getUserCitizenshipDistribution().put(user2, country2);

        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(2, savedDistro.getUserCitizenshipDistribution().size());

        assertEquals(country1, savedDistro.getUserCitizenshipDistribution()
                .get(user1));
        assertEquals(country2, savedDistro.getUserCitizenshipDistribution()
                .get(user2));

        savedDistro.getUserCitizenshipDistribution().remove(user1);
        savedDistro.getUserCitizenshipDistribution().remove(user2);
        assertEquals(0, savedDistro.getUserCitizenshipDistribution().size());
    }

    @Test
    public void testListDataTypeCombinations() {
        Distribution distro = new Distribution();
        distro.setDistroScope("World");
        JOhm.save(distro);

        Country country1 = new Country();
        country1.setName("FriendlyCountry");
        JOhm.save(country1);
        Country country2 = new Country();
        country2.setName("AngryCountry");
        JOhm.save(country2);

        distro.getCountriesOfWorld().add(country1);
        distro.getCountriesOfWorld().add(country2);

        Distribution savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(2, savedDistro.getCountriesOfWorld().size());

        assertEquals(country1, savedDistro.getCountriesOfWorld().get(0));
        assertEquals(country2, savedDistro.getCountriesOfWorld().get(1));

        savedDistro.getCountriesOfWorld().remove(0);
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(1, savedDistro.getCountriesOfWorld().size());
        assertEquals(country2, savedDistro.getCountriesOfWorld().get(0));

        savedDistro.getCountriesOfWorld().remove(0);
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(0, savedDistro.getCountriesOfWorld().size());

        distro.getCountrySizes().add(88888L);
        distro.getCountrySizes().add(99999L);
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(2, savedDistro.getCountrySizes().size());

        assertEquals(0, 88888L, savedDistro.getCountrySizes().get(0));
        assertEquals(0, 99999L, savedDistro.getCountrySizes().get(1));

        savedDistro.getCountrySizes().clear();
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(0, savedDistro.getCountrySizes().size());
    }

    @Test
    public void testSetDataTypeCombinations() {
        Distribution distro = new Distribution();
        distro.setDistroScope("World");
        JOhm.save(distro);

        Country country1 = new Country();
        country1.setName("United States");
        JOhm.save(country1);
        Country country2 = new Country();
        country2.setName("Canada");
        JOhm.save(country2);
        Country country3 = new Country();
        country3.setName("Mexico");
        JOhm.save(country3);

        distro.getNorthAmericanCountries().add(country1);
        distro.getNorthAmericanCountries().add(country2);
        distro.getNorthAmericanCountries().add(country3);

        Distribution savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(3, savedDistro.getNorthAmericanCountries().size());

        assertTrue(savedDistro.getNorthAmericanCountries().contains(country1));
        assertTrue(savedDistro.getNorthAmericanCountries().contains(country2));
        assertTrue(savedDistro.getNorthAmericanCountries().contains(country3));

        savedDistro.getNorthAmericanCountries().remove(country1);
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(2, savedDistro.getNorthAmericanCountries().size());
        assertTrue(savedDistro.getNorthAmericanCountries().contains(country2));
        assertTrue(savedDistro.getNorthAmericanCountries().contains(country3));

        savedDistro.getNorthAmericanCountries().clear();
        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(0, savedDistro.getNorthAmericanCountries().size());
    }

    @Test
    public void testArrayDataTypeCombinations() {
        Distribution distro = new Distribution();
        distro.setDistroScope("World");
        String[] planetNames = { "Mercury", "Venus", "Earth", "Mars",
                "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto" };
        distro.setPlanetNames(planetNames);
        JOhm.save(distro);

        Distribution savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(planetNames.length, savedDistro.getPlanetNames().length);
        assertTrue(Arrays.equals(savedDistro.getPlanetNames(), planetNames));

        Item ant = new Item();
        ant.setName("ant");
        ant.setPrice(0f);
        ant = JOhm.save(ant);

        Item mvn = new Item();
        mvn.setName("maven");
        mvn.setPrice(0f);
        mvn = JOhm.save(mvn);

        Item sbt = new Item();
        sbt.setName("sbt");
        sbt.setPrice(0f);
        sbt = JOhm.save(sbt);

        Item rake = new Item();
        rake.setName("rake");
        rake.setPrice(0f);
        rake = JOhm.save(rake);

        Item make = new Item();
        make.setName("make");
        make.setPrice(0f);
        make = JOhm.save(make);

        Item[] buildTools = { ant, mvn, sbt, rake, make };
        distro.setBuildTools(buildTools);
        JOhm.save(distro);

        savedDistro = JOhm.get(Distribution.class, distro.getId());
        assertEquals(buildTools.length, savedDistro.getBuildTools().length);
        assertTrue(Arrays.asList(savedDistro.getBuildTools()).contains(ant));
        assertTrue(Arrays.asList(savedDistro.getBuildTools()).contains(mvn));
        assertTrue(Arrays.asList(savedDistro.getBuildTools()).contains(sbt));
        assertTrue(Arrays.asList(savedDistro.getBuildTools()).contains(rake));
        assertTrue(Arrays.asList(savedDistro.getBuildTools()).contains(make));
    }
}
TOP

Related Classes of redis.clients.johm.CollectionsDataTypeTest

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.