package utest; import static org.junit.Assert.assertFalse; import java.sql.ResultSet; import org.easymock.EasyMock; import org.junit.Assert; import org.junit.Test; import core.business.IRoom; import core.business.IRoomManager; import core.business.Room; import core.business.RoomManager; import core.business.RoomStatus; import connect.sqlite.IConnectData; //TODO there are not enough tests for the Room class public class RoomUTest { // getAvailableRoom() @Test public void getRoomListTest() { IConnectData mockconnection = EasyMock.createStrictMock(IConnectData.class); ResultSet result = null; String sql = "Select * from Room"; EasyMock.expect(mockconnection.connect()).andReturn(true); EasyMock.expect(mockconnection.ExcuteQuery(sql)).andReturn(result); RoomManager obj = new RoomManager(mockconnection); EasyMock.replay(mockconnection); obj.getAvailableRoom(); EasyMock.verify(mockconnection); } // getAvailableRoom() @Test public void getAvailableRoomTest() { IConnectData mockconnection = EasyMock.createStrictMock(IConnectData.class); ResultSet result = null; String sql = "Select * from Room"; EasyMock.expect(mockconnection.connect()).andReturn(true); EasyMock.expect(mockconnection.ExcuteQuery(sql)).andReturn(result); RoomManager obj = new RoomManager(mockconnection); EasyMock.replay(mockconnection); obj.getAvailableRoom(); EasyMock.verify(mockconnection); } // updateRoomStatus(Room room, RoomStatus status) private class TmpTestRoom{ private IRoomManager rm; public TmpTestRoom(IRoomManager rmanager){ this.rm = rmanager; } public void run_UpdateRoomStatus_NullRoom(IRoom room, RoomStatus status){ if(rm.isExist(room)) rm.updateRoomStatus(room, status); } } @Test public void updateRoomStatusTest() { IRoomManager mockroommamanger = EasyMock.createMock(IRoomManager.class); RoomStatus status = new RoomStatus(); IRoom room = null; EasyMock.expect(mockroommamanger.isExist(room)).andReturn(true); EasyMock.expect(mockroommamanger.updateRoomStatus(room,status )).andReturn(false); TmpTestRoom tmp = new TmpTestRoom(mockroommamanger); EasyMock.replay(mockroommamanger); tmp.run_UpdateRoomStatus_NullRoom(null, status); EasyMock.verify(mockroommamanger); } @Test(expected = NullPointerException.class) public void addRoom_NULLTest() { IConnectData mockconnection = EasyMock.createStrictMock(IConnectData.class); IRoomManager rm = new RoomManager(mockconnection); assertFalse(rm.addRoom(null)); } @Test public void selectRoom(){ Room room = new Room(2); Assert.assertEquals(2, room.getRoomID()); } }