bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift/*
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * CDDL HEADER START
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift *
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * The contents of this file are subject to the terms of the
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Common Development and Distribution License, Version 1.0 only
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * (the "License"). You may not use this file except in compliance
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * with the License.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift *
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * or http://forgerock.org/license/CDDLv1.0.html.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * See the License for the specific language governing permissions
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * and limitations under the License.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift *
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * When distributing Covered Code, include this CDDL HEADER in each
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * file and include the License file at legal-notices/CDDLv1_0.txt.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * If applicable, add the following below this CDDL HEADER, with the
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * fields enclosed by brackets "[]" replaced with your own identifying
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * information:
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Portions Copyright [yyyy] [name of copyright owner]
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift *
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * CDDL HEADER END
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift *
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift *
65e99be301d5a19db33f25841f671756e8dbb9b5ludovicp * Copyright 2008 Sun Microsystems, Inc.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swiftpackage org.opends.server.admin;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swiftimport static org.testng.Assert.*;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
378c66c5d12cbe2aefbbffcf5f6d287febc186c2matthew_swiftimport org.opends.server.admin.std.meta.RootCfgDefn;
24d6db06810f2ea747f6dff60d483e4fca3aaa13davidelyimport org.opends.server.DirectoryServerTestCase;
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swiftimport org.testng.annotations.DataProvider;
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swiftimport org.testng.annotations.Test;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift/**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * IntegerPropertyDefinition Tester.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
24d6db06810f2ea747f6dff60d483e4fca3aaa13davidelypublic class IntegerPropertyDefinitionTest extends DirectoryServerTestCase {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests creation of builder succeeds
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testCreateBuilder() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift assertNotNull(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests setting/getting of lower limit as long
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testLowerLimit1() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setLowerLimit(1);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift assert spd.getLowerLimit() == 1;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Creates data for testing string-based limit values
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @return data
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @DataProvider(name = "limitData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public Object[][] createlimitData() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return new Object[][]{
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {1, 1},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift // { null, 0 }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift };
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Creates data for testing limit values
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @return data
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @DataProvider(name = "illegalLimitData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public Object[][] createIllegalLimitData() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return new Object[][]{
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {-1, 0, true}, // lower, upper, lower first
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {0, -1, false},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {2, 1, true},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {2, 1, false}
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift };
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests setting/getting of lower limit as String
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param limit unit limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param expectedValue to compare
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(dataProvider = "limitData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testLowerLimit2(int limit, int expectedValue) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setLowerLimit(limit);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift assert spd.getLowerLimit() == expectedValue;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests setting/getting of lower limit as long
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testUpperLimit1() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setLowerLimit(1);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift assert spd.getLowerLimit() == 1;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests setting/getting of lower limit as String
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param limit upper limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param expectedValue to compare
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(dataProvider = "limitData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testUpperLimit2(int limit, int expectedValue) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setUpperLimit(limit);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift assert spd.getUpperLimit().equals(expectedValue);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests setting/getting of lower limit as String
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param upper upper limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param lower lower limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param lowerFirst when true sets the lower limit property first
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(dataProvider = "illegalLimitData", expectedExceptions = IllegalArgumentException.class)
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testIllegalLimits(int lower, int upper, boolean lowerFirst) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift if (lowerFirst) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setLowerLimit(lower);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setUpperLimit(upper);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift } else {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setUpperLimit(upper);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setLowerLimit(lower);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests the allowUnlimited property
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testIsAllowUnlimited1() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(true);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift spd.decodeValue("unlimited");
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests the allowUnlimited property
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(expectedExceptions = IllegalPropertyValueStringException.class)
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testIsAllowUnlimited2() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(false);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift spd.decodeValue("unlimited");
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests the allowUnlimited property
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(expectedExceptions = IllegalPropertyValueException.class)
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testIsAllowUnlimited3() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(false);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift spd.validateValue(-1);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Creates illegal data for validate value
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @return data
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @DataProvider(name = "validateValueData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public Object[][] createvalidateValueData() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return new Object[][]{
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, false, 7},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, null, true, -1},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, true, -1},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift };
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests that validateValue works
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param value to validate
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param allowUnlimited when true allows unlimited
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param high upper limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param low lower limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(dataProvider = "validateValueData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testValidateValue1(Integer low, Integer high, boolean allowUnlimited, Integer value) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setLowerLimit(low);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setUpperLimit(high);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(allowUnlimited);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift spd.validateValue(value);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Creates illegal data for validate value
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @return data
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @DataProvider(name = "illegalValidateValueData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public Object[][] createIllegalValidateValueData() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return new Object[][]{
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, false, null},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, false, 1},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, false, 11},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, false, -1},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, true, 2},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {5, 10, true, 11}
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift };
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests that validateValue throws exceptions
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param value to validate
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param low lower limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param high upper limit
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param allowUnlimited when true allows unlimited
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(dataProvider = "illegalValidateValueData",
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift expectedExceptions = {AssertionError.class,NullPointerException.class,IllegalPropertyValueException.class})
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testValidateValue2(Integer low, Integer high, boolean allowUnlimited, Integer value) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setLowerLimit(low);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setUpperLimit(high);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(allowUnlimited);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift spd.validateValue(value);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Creates encode test data
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @return data
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @DataProvider(name = "encodeValueData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public Object[][] createEncodeValueData() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return new Object[][]{
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {-1, "unlimited"},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift {1, "1"},
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift };
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Tests encode value
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param value to encode
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * @param expectedValue to compare
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test(dataProvider = "encodeValueData")
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testEncodeValue(Integer value, String expectedValue) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(true);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift assertEquals(spd.encodeValue(value), expectedValue);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Test that accept doesn't throw and exception
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testAccept() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(true);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift PropertyDefinitionVisitor<Boolean, Void> v = new PropertyDefinitionVisitor<Boolean, Void>() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public Boolean visitInteger(IntegerPropertyDefinition d,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Void o) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return true;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public Boolean visitUnknown(PropertyDefinition d, Void o)
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift throws UnknownPropertyDefinitionException {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return false;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift };
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift assertEquals((boolean) spd.accept(v, null), true);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift /**
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift * Make sure toString doesn't barf
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift */
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testToString() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(true);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift spd.toString();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testCompare() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(true);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition spd = buildTestDefinition(builder);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift spd.compare(1, 2);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testSetDefaultBehaviorProvider() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setAllowUnlimited(true);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setDefaultBehaviorProvider(new DefaultBehaviorProvider<Integer>() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public <R, P> R accept(DefaultBehaviorProviderVisitor<Integer, R, P> v, P p) {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift return null;
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift });
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @Test
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift public void testSetOption() {
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift IntegerPropertyDefinition.Builder builder = createTestBuilder();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift builder.setOption(PropertyOption.HIDDEN);
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift private IntegerPropertyDefinition.Builder createTestBuilder() {
378c66c5d12cbe2aefbbffcf5f6d287febc186c2matthew_swift return IntegerPropertyDefinition.createBuilder(RootCfgDefn.getInstance(), "test-property-name");
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift private IntegerPropertyDefinition buildTestDefinition(IntegerPropertyDefinition.Builder builder) {
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift builder.setDefaultBehaviorProvider(new DefinedDefaultBehaviorProvider<Integer>("0"));
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift return builder.getInstance();
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift }
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift}