/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF 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.apache.directory.studio.openldap.config.editor.dialogs; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import java.text.ParseException; import org.junit.Test; /** * This class tests the {@link PurgeTimeSpan} class. * * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> */ public class PurgeTimeSpanTest { @Test public void testArguments() throws Exception { try { new PurgeTimeSpan( -1, 0, 0, 0 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } try { new PurgeTimeSpan( 100000, 0, 0, 0 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } try { new PurgeTimeSpan( 0, -1, 0, 0 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } try { new PurgeTimeSpan( 0, 61, 0, 0 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } try { new PurgeTimeSpan( 0, 0, -1, 0 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } try { new PurgeTimeSpan( 0, 0, 61, 0 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } try { new PurgeTimeSpan( 0, 0, 0, -1 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } try { new PurgeTimeSpan( 0, 0, 0, 61 ); fail(); } catch ( IllegalArgumentException e ) { // Should to pass here } } @Test public void testTooShort() { try { new PurgeTimeSpan( "0" ); fail(); } catch ( ParseException e ) { // Should to pass here } try { new PurgeTimeSpan( "00" ); fail(); } catch ( ParseException e ) { // Should to pass here } try { new PurgeTimeSpan( "00:" ); fail(); } catch ( ParseException e ) { // Should to pass here } try { new PurgeTimeSpan( "00:0" ); fail(); } catch ( ParseException e ) { // Should to pass here } } @Test public void testParsing() throws Exception { PurgeTimeSpan span1 = new PurgeTimeSpan( "12:34" ); assertEquals( 0, span1.getDays() ); assertEquals( 12, span1.getHours() ); assertEquals( 34, span1.getMinutes() ); assertEquals( 0, span1.getSeconds() ); PurgeTimeSpan span2 = new PurgeTimeSpan( "12:34:56" ); assertEquals( 0, span2.getDays() ); assertEquals( 12, span2.getHours() ); assertEquals( 34, span2.getMinutes() ); assertEquals( 56, span2.getSeconds() ); PurgeTimeSpan span3 = new PurgeTimeSpan( "1+23:45" ); assertEquals( 1, span3.getDays() ); assertEquals( 23, span3.getHours() ); assertEquals( 45, span3.getMinutes() ); assertEquals( 0, span3.getSeconds() ); PurgeTimeSpan span4 = new PurgeTimeSpan( "12+14:56" ); assertEquals( 12, span4.getDays() ); assertEquals( 14, span4.getHours() ); assertEquals( 56, span4.getMinutes() ); assertEquals( 0, span4.getSeconds() ); PurgeTimeSpan span5 = new PurgeTimeSpan( "123+15:37" ); assertEquals( 123, span5.getDays() ); assertEquals( 15, span5.getHours() ); assertEquals( 37, span5.getMinutes() ); assertEquals( 0, span5.getSeconds() ); PurgeTimeSpan span6 = new PurgeTimeSpan( "1234+16:38" ); assertEquals( 1234, span6.getDays() ); assertEquals( 16, span6.getHours() ); assertEquals( 38, span6.getMinutes() ); assertEquals( 0, span6.getSeconds() ); PurgeTimeSpan span7 = new PurgeTimeSpan( "12345+17:39" ); assertEquals( 12345, span7.getDays() ); assertEquals( 17, span7.getHours() ); assertEquals( 39, span7.getMinutes() ); assertEquals( 0, span7.getSeconds() ); PurgeTimeSpan span8 = new PurgeTimeSpan( "1+23:45:41" ); assertEquals( 1, span8.getDays() ); assertEquals( 23, span8.getHours() ); assertEquals( 45, span8.getMinutes() ); assertEquals( 41, span8.getSeconds() ); PurgeTimeSpan span9 = new PurgeTimeSpan( "12+14:56:42" ); assertEquals( 12, span9.getDays() ); assertEquals( 14, span9.getHours() ); assertEquals( 56, span9.getMinutes() ); assertEquals( 42, span9.getSeconds() ); PurgeTimeSpan span10 = new PurgeTimeSpan( "123+15:37:43" ); assertEquals( 123, span10.getDays() ); assertEquals( 15, span10.getHours() ); assertEquals( 37, span10.getMinutes() ); assertEquals( 43, span10.getSeconds() ); PurgeTimeSpan span11 = new PurgeTimeSpan( "1234+16:38:45" ); assertEquals( 1234, span11.getDays() ); assertEquals( 16, span11.getHours() ); assertEquals( 38, span11.getMinutes() ); assertEquals( 45, span11.getSeconds() ); PurgeTimeSpan span12 = new PurgeTimeSpan( "12345+17:39:46" ); assertEquals( 12345, span12.getDays() ); assertEquals( 17, span12.getHours() ); assertEquals( 39, span12.getMinutes() ); assertEquals( 46, span12.getSeconds() ); } @Test public void testToString() throws Exception { PurgeTimeSpan span1 = new PurgeTimeSpan( 0, 1, 2, 0 ); assertEquals( "01:02", span1.toString() ); PurgeTimeSpan span2 = new PurgeTimeSpan( 1, 2, 3, 0 ); assertEquals( "1+02:03", span2.toString() ); PurgeTimeSpan span3 = new PurgeTimeSpan( 12, 3, 4, 5 ); assertEquals( "12+03:04:05", span3.toString() ); PurgeTimeSpan span4 = new PurgeTimeSpan( 123, 4, 5, 6 ); assertEquals( "123+04:05:06", span4.toString() ); PurgeTimeSpan span5 = new PurgeTimeSpan( 1234, 5, 6, 7 ); assertEquals( "1234+05:06:07", span5.toString() ); PurgeTimeSpan span6 = new PurgeTimeSpan( 12345, 6, 7, 8 ); assertEquals( "12345+06:07:08", span6.toString() ); PurgeTimeSpan span7 = new PurgeTimeSpan( 0, 1, 2, 3 ); assertEquals( "01:02:03", span7.toString() ); } }