/* 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; import java.util.List; /** * Tests for {@link JvmFlag}. */ public class JvmFlagTest extends TestCase { public void test_asArgumentString_MAX_NEW_SIZE() { final String actual = JvmFlag.MAX_NEW_SIZE.asArgumentString(1L); assertEquals("-XX:MaxNewSize=1m", actual); } public void test_asRegularExpressionString_MAX_NEW_SIZE() { final String actual = JvmFlag.MAX_NEW_SIZE.asRegularExpressionString(); assertEquals("-XX:MaxNewSize=\\d+[bBkKmMgG]\\b", actual); } public void test_validate_MAX_NEW_SIZE_InvalidValues() { try { JvmFlag.MAX_NEW_SIZE.validate(-1L); fail("JvmFlag.JAVA_HEAP_MAXIMUM_SIZE should disallow -1."); } catch (final IllegalArgumentException expected) { } try { JvmFlag.MAX_NEW_SIZE.validate(65537L); fail("JvmFlag.JAVA_HEAP_MAXIMUM_SIZE should disallow 65537."); } catch (final IllegalArgumentException expected) { } } public void test_validate_MAX_NEW_SIZE_ValidValues() { try { JvmFlag.MAX_NEW_SIZE.validate(1L); } catch (final IllegalArgumentException expected) { fail("JvmFlag.JAVA_HEAP_MAXIMUM_SIZE should allow 1."); } try { JvmFlag.MAX_NEW_SIZE.validate(2048L); } catch (final IllegalArgumentException expected) { fail("JvmFlag.JAVA_HEAP_MAXIMUM_SIZE should allow 2048."); } } public void test_getGcModeArgument_EmitsExpected() { assertEquals(JvmFlag.USE_CONC_MARK_SWEEP_GC, JvmFlag.getGcModeArgument(GcMode.CMS)); assertEquals(JvmFlag.USE_PARALLEL_GC, JvmFlag.getGcModeArgument(GcMode.PARALLEL)); assertEquals(JvmFlag.USE_PARALLEL_OLD_GC, JvmFlag.getGcModeArgument(GcMode.PARALLEL_OLD)); assertEquals(JvmFlag.USE_SERIAL_GC, JvmFlag.getGcModeArgument(GcMode.SERIAL)); } public void test_asAcceptableValuesString_MAX_NEW_SIZE() { final String actual = JvmFlag.MAX_NEW_SIZE.asAcceptableValuesString(); assertEquals("[0\u202532768]", actual); } }