Package org.slim3.datastore.meta

Source Code of org.slim3.datastore.meta.ModelMetaDatastoreTest

/*
* Copyright 2004-2010 the Seasar Foundation and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.slim3.datastore.meta;

import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;

import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;

import org.junit.Test;
import org.slim3.datastore.model.Bbb;
import org.slim3.datastore.model.Hoge;
import org.slim3.datastore.model.MySerializable;
import org.slim3.tester.AppEngineTestCase;
import org.slim3.util.CipherFactory;

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.datastore.Text;
import com.google.appengine.api.datastore.Query.SortDirection;

/**
* @author higa
*
*/
public class ModelMetaDatastoreTest extends AppEngineTestCase {

    private HogeMeta meta = new HogeMeta();

    private Hoge model = new Hoge();

    private BbbMeta bbbMeta = new BbbMeta();

    private Bbb bbb = new Bbb();

    private DatastoreService ds = DatastoreServiceFactory.getDatastoreService();

    @Override
    public void setUp() throws Exception {
        super.setUp();
        CipherFactory.getFactory().setGlobalKey("xxxxxxxxxxxxxxxx");
    }

    @Override
    public void tearDown() throws Exception {
        super.tearDown();
        CipherFactory.getFactory().clearGlobalKey();
    }

    /**
     * @throws Exception
     */
    @Test
    public void primitiveShort() throws Exception {
        model.setMyPrimitiveShort((short) 1);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyPrimitiveShort(), is((short) 1));
    }

    /**
     * @throws Exception
     */
    @Test
    public void shortWrapper() throws Exception {
        model.setMyShort((short) 1);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyShort(), is((short) 1));
    }

    /**
     * @throws Exception
     */
    @Test
    public void primitiveInt() throws Exception {
        model.setMyPrimitiveInt(1);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyPrimitiveInt(), is(1));
    }

    /**
     * @throws Exception
     */
    @Test
    public void integer() throws Exception {
        model.setMyInteger(1);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyInteger(), is(1));
    }

    /**
     * @throws Exception
     */
    @Test
    public void primitiveLong() throws Exception {
        model.setMyPrimitiveLong(1);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyPrimitiveLong(), is(1L));
    }

    /**
     * @throws Exception
     */
    @Test
    public void longWrapper() throws Exception {
        model.setMyLong(1L);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyLong(), is(1L));
    }

    /**
     * @throws Exception
     */
    @Test
    public void primitiveFloat() throws Exception {
        model.setMyPrimitiveFloat(1);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyPrimitiveFloat(), is(1f));
    }

    /**
     * @throws Exception
     */
    @Test
    public void floatWrapper() throws Exception {
        model.setMyFloat(1f);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyFloat(), is(1f));
    }

    /**
     * @throws Exception
     */
    @Test
    public void primitiveDouble() throws Exception {
        model.setMyPrimitiveDouble(1);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyPrimitiveDouble(), is(1d));
    }

    /**
     * @throws Exception
     */
    @Test
    public void doubleWrapper() throws Exception {
        model.setMyDouble(1d);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyDouble(), is(1d));
    }

    /**
     * @throws Exception
     */
    @Test
    public void primitiveBoolean() throws Exception {
        model.setMyPrimitiveBoolean(true);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.isMyPrimitiveBoolean(), is(true));
    }

    /**
     * @throws Exception
     */
    @Test
    public void booleanWrapper() throws Exception {
        model.setMyBoolean(true);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyBoolean(), is(true));
    }

    /**
     * @throws Exception
     */
    @Test
    public void string() throws Exception {
        model.setMyString("1");
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyString(), is("1"));
    }

    /**
     * @throws Exception
     */
    @Test
    public void date() throws Exception {
        model.setMyDate(new Date(0));
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyDate(), is(new Date(0)));
    }

    /**
     * @throws Exception
     */
    @Test
    public void enumValue() throws Exception {
        model.setMyEnum(SortDirection.ASCENDING);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyEnum(), is(SortDirection.ASCENDING));
    }

    /**
     * @throws Exception
     */
    @Test
    public void key() throws Exception {
        Key key = KeyFactory.createKey("Hoge", 1);
        model.setKey(key);
        Entity entity = meta.modelToEntity(model);
        ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getKey(), is(key));
    }

    /**
     * @throws Exception
     */
    @Test
    public void stringText() throws Exception {
        model.setMyStringText("aaa");
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyStringText(), is("aaa"));
    }

    /**
     * @throws Exception
     */
    @Test
    public void text() throws Exception {
        model.setMyText(new Text("aaa"));
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyText(), is(new Text("aaa")));
    }

    /**
     * @throws Exception
     */
    @Test
    public void bytes() throws Exception {
        byte[] value = new byte[] { 1 };
        model.setMyBytes(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyBytes(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void bytesBlob() throws Exception {
        byte[] value = new byte[] { 1 };
        model.setMyBytesBlob(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyBytesBlob(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void serializable() throws Exception {
        model.setMySerializable(new MySerializable("aaa"));
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMySerializable(), is(new MySerializable("aaa")));
    }

    /**
     * @throws Exception
     */
    @Test
    public void serializableBlob() throws Exception {
        MySerializable value = new MySerializable("aaa");
        model.setMySerializableBlob(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMySerializableBlob(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void shortList() throws Exception {
        List<Short> value = Arrays.asList((short) 1);
        model.setMyShortList(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyShortList(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void shortSet() throws Exception {
        Set<Short> value = new HashSet<Short>(Arrays.asList((short) 1));
        model.setMyShortSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyShortSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void shortSortedSet() throws Exception {
        SortedSet<Short> value = new TreeSet<Short>(Arrays.asList((short) 1));
        model.setMyShortSortedSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyShortSortedSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void integerList() throws Exception {
        List<Integer> value = Arrays.asList(1);
        model.setMyIntegerList(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyIntegerList(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void integerSet() throws Exception {
        Set<Integer> value = new HashSet<Integer>(Arrays.asList(1));
        model.setMyIntegerSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyIntegerSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void integerSortedSet() throws Exception {
        SortedSet<Integer> value = new TreeSet<Integer>(Arrays.asList(1));
        model.setMyIntegerSortedSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyIntegerSortedSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void longList() throws Exception {
        List<Long> value = Arrays.asList(1L);
        model.setMyLongList(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyLongList(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void longSet() throws Exception {
        Set<Long> value = new HashSet<Long>(Arrays.asList(1L));
        model.setMyLongSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyLongSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void longSortedSet() throws Exception {
        SortedSet<Long> value = new TreeSet<Long>(Arrays.asList(1L));
        model.setMyLongSortedSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyLongSortedSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void floatList() throws Exception {
        List<Float> value = Arrays.asList(1f);
        model.setMyFloatList(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyFloatList(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void floatSet() throws Exception {
        Set<Float> value = new HashSet<Float>(Arrays.asList(1f));
        model.setMyFloatSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyFloatSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void floatSortedSet() throws Exception {
        SortedSet<Float> value = new TreeSet<Float>(Arrays.asList(1f));
        model.setMyFloatSortedSet(value);
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        assertThat(model2.getMyFloatSortedSet(), is(value));
    }

    /**
     * @throws Exception
     */
    @Test
    public void modelRef() throws Exception {
        Entity entity = meta.modelToEntity(model);
        Key key = ds.put(entity);
        Entity entity2 = ds.get(key);
        Hoge model2 = meta.entityToModel(entity2);
        bbb.getHogeRef().setModel(model2);
        Entity bbbEntity = bbbMeta.modelToEntity(bbb);
        Key bbbKey = ds.put(bbbEntity);
        Entity bbbEntity2 = ds.get(bbbKey);
        Bbb bbb2 = bbbMeta.entityToModel(bbbEntity2);
        assertThat(bbb2.getHogeRef().getKey(), is(key));
    }
}
TOP

Related Classes of org.slim3.datastore.meta.ModelMetaDatastoreTest

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.