예제 #1
0
  @Test
  public void loadOtherIdModel() {
    SienaFixtures.loadModels("data4.yml");

    // chboing
    OtherIdModel chboing = OtherIdModel.all().filter("alpha", "chboing").get();
    assertNotNull(chboing);
    assertNotSame(0, chboing.myId);
    assertEquals("chboing", chboing.alpha);
    assertEquals(1, chboing.beta);

    OtherIdStringModel plouf = Model.getByKey(OtherIdStringModel.class, "plouf");
    assertNotNull(plouf);
    plouf.link.get();
    assertEquals("plouf", plouf.myId);
    assertEquals("plouf", plouf.alpha);
    assertEquals(2, plouf.beta);
    assertEquals(chboing.myId, plouf.link.myId);
    assertEquals(chboing.alpha, plouf.link.alpha);
    assertEquals(chboing.beta, plouf.link.beta);

    OtherIdStringModel2 plouf2 = Model.getByKey(OtherIdStringModel2.class, "plouf2");
    assertNotNull(plouf2);
    plouf2.link.get();
    assertEquals("plouf2", plouf2.myId);
    assertEquals("plouf2", plouf2.alpha);
    assertEquals(3, plouf2.beta);
    assertEquals(plouf.myId, plouf2.link.myId);
    assertEquals(plouf.alpha, plouf2.link.alpha);
    assertEquals(plouf.beta, plouf2.link.beta);
    assertEquals(chboing.myId, plouf2.link.link.myId);

    OtherIdStringModel2 plouf21 = Model.getByKey(OtherIdStringModel2.class, "plouf21");
    OtherIdStringModel2 plouf22 = Model.getByKey(OtherIdStringModel2.class, "plouf22");

    OtherIdStringModel3 plouf3 = Model.getByKey(OtherIdStringModel3.class, "plouf3");
    List<OtherIdStringModel2> links = plouf3.links.fetch();

    assertEquals(plouf2.myId, links.get(0).myId);
    assertEquals(plouf2.alpha, links.get(0).alpha);
    assertEquals(plouf2.beta, links.get(0).beta);
    assertEquals(plouf2.link.myId, links.get(0).link.myId);

    assertEquals(plouf21.myId, links.get(1).myId);
    assertEquals(plouf21.alpha, links.get(1).alpha);
    assertEquals(plouf21.beta, links.get(1).beta);
    assertEquals(plouf21.link.myId, links.get(1).link.myId);

    assertEquals(plouf22.myId, links.get(2).myId);
    assertEquals(plouf22.alpha, links.get(2).alpha);
    assertEquals(plouf22.beta, links.get(2).beta);
    assertEquals(plouf22.link.myId, links.get(2).link.myId);
  }