/* * Copyright 2010-2013 the original author or authors. * * 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.springframework.data.gemfire.expiration; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import org.apache.geode.cache.ExpirationAction; import org.junit.Test; /** * The ExpirationActionTypeTest class is a test suite of test cases testing the contract and functionality * of the ExpirationActionType enum. * * @author John Blum * @see org.junit.Test * @see ExpirationActionType * @see org.apache.geode.cache.ExpirationAction * @since 1.6.0 */ public class ExpirationActionTypeTest { @Test public void testStaticGetExpirationAction() { assertEquals(ExpirationAction.DESTROY, ExpirationActionType.getExpirationAction(ExpirationActionType.DESTROY)); assertEquals(ExpirationAction.LOCAL_DESTROY, ExpirationActionType.getExpirationAction( ExpirationActionType.LOCAL_DESTROY)); } @Test public void testStaticGetExpirationActionWithNull() { assertNull(ExpirationActionType.getExpirationAction(null)); } @Test public void testGetExpirationAction() { assertEquals(ExpirationAction.DESTROY, ExpirationActionType.DESTROY.getExpirationAction()); assertEquals(ExpirationAction.INVALIDATE, ExpirationActionType.INVALIDATE.getExpirationAction()); assertEquals(ExpirationAction.LOCAL_DESTROY, ExpirationActionType.LOCAL_DESTROY.getExpirationAction()); assertEquals(ExpirationAction.LOCAL_INVALIDATE, ExpirationActionType.LOCAL_INVALIDATE.getExpirationAction()); } @Test public void testDefault() { assertEquals(ExpirationAction.INVALIDATE, ExpirationActionType.DEFAULT.getExpirationAction()); assertSame(ExpirationActionType.INVALIDATE, ExpirationActionType.DEFAULT); } @Test public void testValueOf() { assertEquals(ExpirationActionType.DESTROY, ExpirationActionType.valueOf(ExpirationAction.DESTROY)); assertEquals(ExpirationActionType.INVALIDATE, ExpirationActionType.valueOf(ExpirationAction.INVALIDATE)); assertEquals(ExpirationActionType.LOCAL_DESTROY, ExpirationActionType.valueOf(ExpirationAction.LOCAL_DESTROY)); assertEquals(ExpirationActionType.LOCAL_INVALIDATE, ExpirationActionType.valueOf(ExpirationAction.LOCAL_INVALIDATE)); } @Test public void testValueOfExpirationActionOrdinalValues() { try { for (int ordinal = 0; ordinal < Integer.MAX_VALUE; ordinal++) { ExpirationAction expirationAction = ExpirationAction.fromOrdinal(ordinal); ExpirationActionType expirationActionType = ExpirationActionType.valueOf(expirationAction); assertNotNull(expirationActionType); assertEquals(expirationAction, expirationActionType.getExpirationAction()); } } catch (ArrayIndexOutOfBoundsException ignore) { } } @Test public void testValueOfWithNull() { assertNull(ExpirationActionType.valueOf((ExpirationAction) null)); } @Test public void testValueOfIgnoreCase() { assertEquals(ExpirationActionType.DESTROY, ExpirationActionType.valueOfIgnoreCase("destroy")); assertEquals(ExpirationActionType.INVALIDATE, ExpirationActionType.valueOfIgnoreCase("Invalidate")); assertEquals(ExpirationActionType.LOCAL_DESTROY, ExpirationActionType.valueOfIgnoreCase("LOCAL_DESTROY")); assertEquals(ExpirationActionType.LOCAL_INVALIDATE, ExpirationActionType.valueOfIgnoreCase("LocaL_InValidAte")); } @Test public void testValueOfIgnoreCaseWithInvalidValues() { assertNull(ExpirationActionType.valueOfIgnoreCase("Invalid")); assertNull(ExpirationActionType.valueOfIgnoreCase("local destroy")); assertNull(ExpirationActionType.valueOfIgnoreCase(" ")); assertNull(ExpirationActionType.valueOfIgnoreCase("")); assertNull(ExpirationActionType.valueOfIgnoreCase(null)); } }