Package com.google.code.gaeom.test

Source Code of com.google.code.gaeom.test.TestEmbedding$Embeddee

package com.google.code.gaeom.test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import org.junit.Test;

import com.google.code.gaeom.ObjectStore;
import com.google.code.gaeom.ObjectStoreSession;
import com.google.code.gaeom.annotation.Embedded;

/**
* @author Peter Murray <gaeom@pmurray.com>
*/
public class TestEmbedding extends AbstractLocalTest
{
  public static class Embedder
  {
    String name;
    @Embedded
    Embeddee embeddee;
  }

  public static class Embeddee
  {
    Long size;
    String description;
    @Embedded
    Embeddee2 ork;
  }
 
  public static class Embeddee2
  {
    String foo;
    Long goo;
  }

  @Test
  public void testEmbedding()
  {
    ObjectStore os = ObjectStore.Factory.create();
    ObjectStoreSession oss = os.beginSession();

    Embedder e = new Embedder();
    e.name = "Fred Flintstone";
    Embeddee em = new Embeddee();
    e.embeddee = em;
    e.embeddee.description = "Large size";
    e.embeddee.size = 55L;
    e.embeddee.ork = new Embeddee2();
    e.embeddee.ork.foo = "Ork";
    e.embeddee.ork.goo = 44L;

    oss.store(e).now();

    e.name = null;
    e.embeddee = null;
   
    oss.refresh(e).now();

    assertTrue(em != e.embeddee);
    assertEquals("Fred Flintstone", e.name);
    assertEquals("Large size", e.embeddee.description);
    assertEquals(55L, e.embeddee.size.longValue());
    assertEquals("Ork", e.embeddee.ork.foo);
    assertEquals(44L, e.embeddee.ork.goo.longValue());
  }
}
TOP

Related Classes of com.google.code.gaeom.test.TestEmbedding$Embeddee

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.