Package org.jugile.daims

Source Code of org.jugile.daims.DeleteCleanupTest

package org.jugile.daims;

import org.jugile.proto2.domain.Domain;
import org.jugile.proto2.domain.Family;
import org.jugile.proto2.domain.Person;
import org.jugile.util.JugileTestCase;

public class DeleteCleanupTest extends JugileTestCase {
 
  public void testNNRemoveAfterCommit() {
    Domain.reset();
    Domain d = Domain.getDomain();

    Family f1 = d.createFamily().setName("f1");
    Family f2 = d.createFamily().setName("f2");
   
    Person p1 = d.createPerson().setName("p1");
    Person p2 = d.createPerson().setName("p2");
   
    f1.addFriendPerson(p1);
    f1.addFriendPerson(p2);

    d.commit();
   
    f1 = d.getFamily(f1.id());
    assertEquals(2,f1.getFriendPersons().size());
    p1 = d.getPerson(p1.id());
    assertEquals(1,p1.getFriendFamilies().size());
   
    f1.removeFriendPerson(p1); // family -> person

    d.commit();
   
    f1 = d.getFamily(f1.id());
    assertEquals(1,f1.getFriendPersons().size());
    p1 = d.getPerson(p1.id());
    assertEquals(0,p1.getFriendFamilies().size());

    p2 = d.getPerson(p2.id());
    p2.removeFriendFamily(f1)// person -> family

    d.commit();
    f1 = d.getFamily(f1.id());
    assertEquals(0,f1.getFriendPersons().size());
    p2 = d.getPerson(p2.id());
    assertEquals(0,p2.getFriendFamilies().size());

  }

 
 
 
  public void testCleanUpConnectionsOnDelete() {
    Domain.reset();
    Domain d = Domain.getDomain();
    Family f1 = d.createFamily().setName("f1");
    Family f2 = d.createFamily().setName("f2");
   
    Person p1 = d.createPerson().setName("p1");
    Person p2 = d.createPerson().setName("p2");
   
    f1.addPerson(p1);
    f1.addPerson(p2);
   
    assertEquals(2,f1.getPersons().size());
    p1.delete();
    assertEquals(1,f1.getPersons().size());
   
    d.commit();
    f1 = d.getFamily(f1.id());
    assertEquals(1,f1.getPersons().size())
   
    f2 = d.getFamily(f2.id());
    p2 = d.getPerson(p2.id());
    p2.addFriendFamily(f1);
    p2.addFriendFamily(f2);
    assertEquals(2,p2.getFriendFamilies().size());
   
    f2.delete();
    assertEquals(1,p2.getFriendFamilies().size());
    d.commit();
    p2 = d.getPerson(p2.id());
    assertEquals(1,p2.getFriendFamilies().size());
   
    d.rollback();
   
  }

  public void testDeleteNNEnd() {
    Domain.reset();
    Domain d = Domain.getDomain();
   
    Person p1 = d.createPerson().setName("p1");
    Family f1 = d.createFamily().setName("f1");
    p1.addFriendFamily(f1);
    assertEquals(1,p1.getFriendFamilies().size());
    assertEquals(1,f1.getFriendPersons().size());
    d.dump("1");
    d.commit();
    d.dump("2");
    p1 = d.getPerson(p1.id());
    f1 = d.getFamily(f1.id());
    assertEquals(1,p1.getFriendFamilies().size());
    assertEquals(1,f1.getFriendPersons().size());
    d.dump("3");
//    p1.delete();
//    assertEquals(0,f1.getFriendPersons().size());
    //f1.removeFriendPerson(p1);
   
    f1.delete();
    d.dump("deleted f1");
    assertEquals(0,p1.getFriendFamilies().size());

    d.rollback();
  }
 
 

}
TOP

Related Classes of org.jugile.daims.DeleteCleanupTest

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.