From 606a669951a2c33b1a4a230625e6a2a93fe352f9 Mon Sep 17 00:00:00 2001 From: Andreea Nechifor Date: Fri, 13 Oct 2017 15:23:47 +0300 Subject: [PATCH] REPO-1754 creating JUnit for d:period map test --- .../service/cmr/repository/PeriodTest.java | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 src/test/java/org/alfresco/service/cmr/repository/PeriodTest.java diff --git a/src/test/java/org/alfresco/service/cmr/repository/PeriodTest.java b/src/test/java/org/alfresco/service/cmr/repository/PeriodTest.java new file mode 100644 index 0000000000..95a65dadb4 --- /dev/null +++ b/src/test/java/org/alfresco/service/cmr/repository/PeriodTest.java @@ -0,0 +1,86 @@ +/* + * #%L + * Alfresco Data model classes + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.service.cmr.repository; + +import java.text.ParseException; +import java.util.HashMap; +import java.util.Map; + +import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter; + +import junit.framework.TestCase; + +/** + * + * @see org.alfresco.service.cmr.repository.Period + * @author Andreea Nechifor + * + */ +public class PeriodTest extends TestCase +{ + + public void testMapToPeriod() throws ParseException + { + Map periodArgs = new HashMap(); + periodArgs.put("periodType", "day"); + Period period = new Period(periodArgs); + assertNotNull(period.getPeriodType()); + assertNull(period.getExpression()); + assertEquals(new Period(periodArgs), DefaultTypeConverter.INSTANCE.convert(Period.class, periodArgs)); + + periodArgs.put("expression", "0"); + period = new Period(periodArgs); + assertNotNull(period.getPeriodType()); + assertNotNull(period.getExpression()); + assertEquals(new Period(periodArgs), DefaultTypeConverter.INSTANCE.convert(Period.class, periodArgs)); + + try + { + periodArgs = null; + period = new Period(periodArgs); + fail("the source map must not be null"); + } + catch (IllegalArgumentException e) + { + // Check the exception is source. + assertTrue(e.getMessage().contains("Cannot create Period.")); + } + + try + { + periodArgs = new HashMap(); + period = new Period(periodArgs); + fail("the periodType must not be null"); + } + catch (IllegalArgumentException e) + { + // Check the exception is periodType. + assertTrue(e.getMessage().contains("Cannot create Period with null periodType")); + } + + } + +}