📄 testmaps.java
字号:
import junit.framework.TestCase;
import com.manning.hq.apdxA.*;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import java.util.Map;
import java.util.Iterator;
/**
*
*/
public class TestMaps extends TestCase {
public void testOneToMany() throws HibernateException {
Event event = new Event();
Room greenRoom = new Room("A1");
Room redRoom = new Room("B2");
event.getRooms().put("green", greenRoom);
event.getRooms().put("red", redRoom);
HibernateFactory.buildSessionFactory();
Session session1 = HibernateFactory.openSession();
Session session2 = HibernateFactory.openSession();
try {
session1.save(event);
session1.flush();
Event loadedEvent = (Event) session2.load(Event.class, event.getId());
assertEquals("Should have 2 rooms", 2, loadedEvent.getRooms().size());
assertTrue("Should have a green room", loadedEvent.getRooms().containsKey("green"));
assertTrue("Should have a red room", loadedEvent.getRooms().containsKey("red"));
} finally {
session1.delete(event);
session1.delete(greenRoom);
session1.delete(redRoom);
session1.flush();
HibernateFactory.close(session1);
HibernateFactory.close(session2);
}
}
public void testManyToMany() throws HibernateException {
Event event = new Event();
Room greenRoom = new Room("A1");
Room redRoom = new Room("B2");
event.getSharedRooms().put("green", greenRoom);
event.getSharedRooms().put("red", redRoom);
HibernateFactory.buildSessionFactory();
Session session1 = HibernateFactory.openSession();
Session session2 = HibernateFactory.openSession();
try {
session1.save(event);
session1.flush();
Event loadedEvent = (Event) session2.load(Event.class, event.getId());
assertEquals("Should have 2 rooms", 2, loadedEvent.getSharedRooms().size());
assertTrue("Should have a green room", loadedEvent.getSharedRooms().containsKey("green"));
assertTrue("Should have a red room", loadedEvent.getSharedRooms().containsKey("red"));
} finally {
session1.delete(event);
session1.delete(greenRoom);
session1.delete(redRoom);
session1.flush();
HibernateFactory.close(session1);
HibernateFactory.close(session2);
}
}
public void testMapOfComponents() throws HibernateException {
Location location = new Location();
Address address1 = new Address("10 Shore Rd.");
Address address2 = new Address("12 Shore Rd.");
location.getAddresses().put("mailing", address1);
location.getAddresses().put("secondary", address2);
HibernateFactory.buildSessionFactory();
Session session1 = HibernateFactory.openSession();
Session session2 = HibernateFactory.openSession();
try {
session1.save(location);
session1.flush();
Location loadedLoc = (Location) session2.load(Location.class, location.getId());
assertEquals("Should have 2 addresses", 2, loadedLoc.getAddresses().size());
assertTrue("Should have a mailing", loadedLoc.getAddresses().containsKey("mailing"));
assertTrue("Should have a secondary", loadedLoc.getAddresses().containsKey("secondary"));
} finally {
session1.delete(location);
session1.flush();
HibernateFactory.close(session1);
HibernateFactory.close(session2);
}
}
public void testMapWithEntityKeys() throws HibernateException {
Event event = new Event();
Room room1 = new Room();
Room room2 = new Room();
Speaker speaker1 = new Speaker();
Speaker speaker2 = new Speaker();
HibernateFactory.buildSessionFactory();
Session session1 = HibernateFactory.openSession();
Session session2 = HibernateFactory.openSession();
try {
session1.save(event);
session1.save(room1);
session1.save(room2);
session1.save(speaker1);
session1.save(speaker2);
event.getSpeakersByRoom().put(room1, speaker1);
event.getSpeakersByRoom().put(room2, speaker2);
session1.flush();
Event loadedEvent = (Event) session2.load(Event.class, event.getId());
Map speakersByRoom = loadedEvent.getSpeakersByRoom();
assertEquals("Should have 2 speakers", 2, speakersByRoom.size());
Iterator it = speakersByRoom.keySet().iterator();
assertEquals("Room 1", room1.getId(), ((Room) it.next()).getId());
assertEquals("Room 2", room2.getId(), ((Room) it.next()).getId());
} finally {
session1.delete(event);
session1.delete(room1);
session1.delete(room2);
session1.delete(speaker1);
session1.delete(speaker2);
session1.flush();
HibernateFactory.close(session1);
HibernateFactory.close(session2);
}
}
public void testRoomEquals(){
Room room = new Room(1);
assertEquals(room, new Room(1));
assertFalse(room.equals(new Room(2)));
}
public void testRoomHashCode(){
Room room = new Room(1);
assertEquals(room.hashCode(), new Room(1).hashCode());
assertFalse(room.hashCode() == new Room(2).hashCode());
assertFalse(room.hashCode() == new Room(3).hashCode());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -