/* Copyright 2012 Google, Inc. * * Licensed 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.arbeitspferde.groningen.experimentdb.jvmflags; import junit.framework.TestCase; /** * Tests for {@link Formatters}. */ public class FormattersTest extends TestCase { public void test_INTEGER_FORMATTER_asArgumentString_DisallowsNullArguments() { try { Formatters.INTEGER_FORMATTER.asArgumentString(null, 0L); fail("Formatters.INTEGER_FORMATTER should disallow null arguments."); } catch (final NullPointerException e) { } } public void test_INTEGER_FORMATTER_asArgumentString_AdaptiveSizeDecrementScaleFactor() { final String actual = Formatters.INTEGER_FORMATTER.asArgumentString( JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR, 2L); assertEquals("-XX:AdaptiveSizeDecrementScaleFactor=2", actual); } public void test_INTEGER_FORMATTER_asArgumentString_MaxNewSize() { final String actual = Formatters.INTEGER_FORMATTER.asArgumentString( JvmFlag.MAX_NEW_SIZE, 3L); assertEquals("-XX:MaxNewSize=3m", actual); } public void test_INTEGER_FORMATTER_asRegularExpression_AdaptiveSizeDecrementFactor() { final String actual = Formatters.INTEGER_FORMATTER.asRegularExpressionString( JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR); assertEquals("-XX:AdaptiveSizeDecrementScaleFactor=\\d+\\b", actual); } public void test_INTEGER_FORMATTER_asRegularExpression_MaxNewSize() { final String actual = Formatters.INTEGER_FORMATTER.asRegularExpressionString( JvmFlag.MAX_NEW_SIZE); assertEquals("-XX:MaxNewSize=\\d+[bBkKmMgG]\\b", actual); } public void test_INTEGER_FORMATTER_asAcceptableValuesString_AdaptiveSizeDecrementFactor() { final String actual = Formatters.INTEGER_FORMATTER.asAcceptableValuesString( JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR); assertEquals("[0\u2025100]", actual); } public void test_INTEGER_FORMATTER_asAcceptableValuesString_MaxNewSize() { final String actual = Formatters.INTEGER_FORMATTER.asAcceptableValuesString( JvmFlag.MAX_NEW_SIZE); assertEquals("[0\u202532768]", actual); } public void test_INTEGER_FORMATTER_validate_AdaptiveSizeDecrementFactor_InvalidValues() { try { Formatters.INTEGER_FORMATTER.validate(JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR, -1L); fail("JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR disallows -1."); } catch (final IllegalArgumentException e) { } try { Formatters.INTEGER_FORMATTER.validate(JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR, 101L); fail("JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR disallows 101."); } catch (final IllegalArgumentException e) { } } public void test_INTEGER_FORMATTER_validate_AdaptiveSizeDecrementFactor_ValidValues() { try { Formatters.INTEGER_FORMATTER.validate(JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR, 1L); } catch (final IllegalArgumentException e) { fail("JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR allows 1."); } try { Formatters.INTEGER_FORMATTER.validate(JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR, 50L); } catch (final IllegalArgumentException e) { fail("JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR allows 50"); } try { Formatters.INTEGER_FORMATTER.validate(JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR, 100L); } catch (final IllegalArgumentException e) { fail("JvmFlag.ADAPTIVE_SIZE_DECREMENT_SCALE_FACTOR allows 100"); } } public void test_BOOLEAN_FORMATTER_asArgumentString_DisallowsNullArguments() { try { Formatters.BOOLEAN_FORMATTER.asArgumentString(null, 0L); fail("Formatters.BOOLEAN_FORMATTER should disallow null arguments."); } catch (final NullPointerException e) { } } public void test_BOOLEAN_FORMATTER_asArgumentString_CMSIncrementalMode_true() { final String actual = Formatters.BOOLEAN_FORMATTER.asArgumentString( JvmFlag.CMS_INCREMENTAL_MODE, 1L); assertEquals("-XX:+CMSIncrementalMode", actual); } public void test_BOOLEAN_FORMATTER_asArgumentString_CMSIncrementalMode_false() { final String actual = Formatters.BOOLEAN_FORMATTER.asArgumentString( JvmFlag.CMS_INCREMENTAL_MODE, 0L); assertEquals("-XX:-CMSIncrementalMode", actual); } public void test_BOOLEAN_FORMATTER_asRegularExpression_CMSIncrementalMode() { final String actual = Formatters.BOOLEAN_FORMATTER.asRegularExpressionString( JvmFlag.CMS_INCREMENTAL_MODE); assertEquals("-XX:[+-]CMSIncrementalMode", actual); } public void test_BOOLEAN_FORMATTER_asAcceptableValuesString_CMSIncrementalMode() { final String actual = Formatters.BOOLEAN_FORMATTER.asAcceptableValuesString( JvmFlag.CMS_INCREMENTAL_MODE); assertEquals("{0 (false), 1 (true)}", actual); } public void test_BOOLEAN_FORMATTER_validate_CMSIncrementalMode_InvalidValues() { try { Formatters.BOOLEAN_FORMATTER.validate(JvmFlag.CMS_INCREMENTAL_MODE, -1L); fail("JvmFlags.CMS_INCREMENTAL_MODE disallows -1."); } catch (final IllegalArgumentException e) { } try { Formatters.BOOLEAN_FORMATTER.validate(JvmFlag.CMS_INCREMENTAL_MODE, 2L); fail("JvmFlags.CMS_INCREMENTAL_MODE disallows 2."); } catch (final IllegalArgumentException e) { } } public void test_BOOLEAN_FORMATTER_validate_CMSIncrementalMode_ValidValues() { try { Formatters.BOOLEAN_FORMATTER.validate(JvmFlag.CMS_INCREMENTAL_MODE, 0L); } catch (final IllegalArgumentException e) { fail("JvmFlags.CMS_INCREMENTAL_MODE allows 0."); } try { Formatters.BOOLEAN_FORMATTER.validate(JvmFlag.CMS_INCREMENTAL_MODE, 1L); } catch (final IllegalArgumentException e) { fail("JvmFlags.CMS_INCREMENTAL_MODE allows 1."); } } }