/**
* Licensed to Jasig under one or more contributor license
* agreements. See the NOTICE file distributed with this work
* for additional information regarding copyright ownership.
* Jasig licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a
* copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.jasig.schedassist.impl.owner;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import java.sql.ResultSet;
import java.sql.Timestamp;
import org.jasig.schedassist.model.AvailableBlock;
import org.jasig.schedassist.model.AvailableBlockBuilder;
import org.junit.Test;
/**
*
*
* @author Nicholas Blair, nblair@doit.wisc.edu
* @version $Id: PersistenceAvailableBlockRowMapperTest.java 1123 2009-10-07 21:40:35Z npblair $
*/
public class PersistenceAvailableBlockRowMapperTest {
/**
*
* @throws Exception
*/
@Test
public void testControl() throws Exception {
AvailableBlock testBlock = AvailableBlockBuilder.createBlock("20091007-1600", "20091007-1700", 1);
ResultSet mock = createMock(ResultSet.class);
expect(mock.getLong("owner_id")).andReturn(45L);
expect(mock.getTimestamp("start_time")).andReturn(new Timestamp(testBlock.getStartTime().getTime()));
expect(mock.getTimestamp("end_time")).andReturn(new Timestamp(testBlock.getEndTime().getTime()));
expect(mock.getInt("visitor_limit")).andReturn(1);
expect(mock.getString("meeting_location")).andReturn(null);
replay(mock);
PersistenceAvailableBlockRowMapper mapper = new PersistenceAvailableBlockRowMapper();
PersistenceAvailableBlock block = mapper.mapRow(mock, 1);
assertEquals(testBlock.getStartTime(), block.getStartTime());
assertEquals(testBlock.getEndTime(), block.getEndTime());
assertEquals(testBlock.getVisitorLimit(), block.getVisitorLimit());
assertEquals(45L, block.getOwnerId());
assertNull(block.getMeetingLocation());
verify(mock);
}
/**
*
* @throws Exception
*/
@Test
public void testVisitorLimitLargerThan1() throws Exception {
AvailableBlock testBlock = AvailableBlockBuilder.createBlock("20091007-1600", "20091007-1700", 10);
ResultSet mock = createMock(ResultSet.class);
expect(mock.getLong("owner_id")).andReturn(45L);
expect(mock.getTimestamp("start_time")).andReturn(new Timestamp(testBlock.getStartTime().getTime()));
expect(mock.getTimestamp("end_time")).andReturn(new Timestamp(testBlock.getEndTime().getTime()));
expect(mock.getInt("visitor_limit")).andReturn(10);
expect(mock.getString("meeting_location")).andReturn(null);
replay(mock);
PersistenceAvailableBlockRowMapper mapper = new PersistenceAvailableBlockRowMapper();
PersistenceAvailableBlock block = mapper.mapRow(mock, 1);
assertEquals(testBlock.getStartTime(), block.getStartTime());
assertEquals(testBlock.getEndTime(), block.getEndTime());
assertEquals(testBlock.getVisitorLimit(), block.getVisitorLimit());
assertEquals(45L, block.getOwnerId());
assertNull(block.getMeetingLocation());
verify(mock);
}
/**
*
* @throws Exception
*/
@Test
public void testNullVisitorLimit() throws Exception {
AvailableBlock testBlock = AvailableBlockBuilder.createBlock("20091007-1600", "20091007-1700", 1);
ResultSet mock = createMock(ResultSet.class);
expect(mock.getLong("owner_id")).andReturn(45L);
expect(mock.getTimestamp("start_time")).andReturn(new Timestamp(testBlock.getStartTime().getTime()));
expect(mock.getTimestamp("end_time")).andReturn(new Timestamp(testBlock.getEndTime().getTime()));
expect(mock.getInt("visitor_limit")).andReturn(0);
expect(mock.getString("meeting_location")).andReturn(null);
replay(mock);
PersistenceAvailableBlockRowMapper mapper = new PersistenceAvailableBlockRowMapper();
PersistenceAvailableBlock block = mapper.mapRow(mock, 1);
assertEquals(testBlock.getStartTime(), block.getStartTime());
assertEquals(testBlock.getEndTime(), block.getEndTime());
assertEquals(testBlock.getVisitorLimit(), block.getVisitorLimit());
assertEquals(45L, block.getOwnerId());
assertNull(block.getMeetingLocation());
verify(mock);
}
/**
*
* @throws Exception
*/
@Test
public void testMeetingLocation() throws Exception {
AvailableBlock testBlock = AvailableBlockBuilder.createBlock("20091007-1600", "20091007-1700", 1);
ResultSet mock = createMock(ResultSet.class);
expect(mock.getLong("owner_id")).andReturn(45L);
expect(mock.getTimestamp("start_time")).andReturn(new Timestamp(testBlock.getStartTime().getTime()));
expect(mock.getTimestamp("end_time")).andReturn(new Timestamp(testBlock.getEndTime().getTime()));
expect(mock.getInt("visitor_limit")).andReturn(1);
expect(mock.getString("meeting_location")).andReturn("some office");
replay(mock);
PersistenceAvailableBlockRowMapper mapper = new PersistenceAvailableBlockRowMapper();
PersistenceAvailableBlock block = mapper.mapRow(mock, 1);
assertEquals(testBlock.getStartTime(), block.getStartTime());
assertEquals(testBlock.getEndTime(), block.getEndTime());
assertEquals(testBlock.getVisitorLimit(), block.getVisitorLimit());
assertEquals(45L, block.getOwnerId());
assertEquals("some office", block.getMeetingLocation());
verify(mock);
}
}