/** * Copyright (c) 2010 Darmstadt University of Technology. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Marcel Bruch - initial API and implementation. */ package org.eclipse.recommenders.utils; import static org.eclipse.recommenders.utils.Checks.*; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import org.apache.commons.lang3.SystemUtils; import org.junit.Test; import com.google.common.collect.Lists; import com.google.common.collect.Sets; public class ChecksTest { @Test(expected = IllegalArgumentException.class) public void testEnsureIsNotNullWithNullValue() { ensureIsNotNull(null); } @Test public void testEnsureIsNotNullWithNonNullValue() { ensureIsNotNull("non-null"); // success with non-null } @Test public void testEnsureEquals() { final String value = "message"; final String expected = new String("message"); ensureEquals(value, expected, ""); } @Test(expected = IllegalArgumentException.class) public void testEnsureEqualsFails() { final String value = "message-different"; final String expected = new String("message"); ensureEquals(value, expected, ""); } @Test public void testEnsureExists() { final File file = getTempDir(); ensureExists(file); } private File getTempDir() { final String tmp = System.getProperties().getProperty("java.io.tmpdir"); return new File(tmp); } @Test(expected = IllegalArgumentException.class) public void testEnsureExistsFails() { final String tmp = System.getProperties().getProperty("java.io.tmpdir") + "-invalid"; final File file = new File(tmp); ensureExists(file); } @Test public void testEnsureIsDirectory() { final File file = getTempDir(); ensureIsDirectory(file); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsDirectoryFails() { final String tmp = System.getProperties().getProperty("java.io.tmpdir") + "-invalid"; final File file = new File(tmp); ensureIsDirectory(file); } @Test public void testEnsureIsFalse() { ensureIsFalse(false, null); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsFalseFails() { ensureIsFalse(true, ""); } @Test public void testEnsureIsGreaterOrEqualTo1() { ensureIsGreaterOrEqualTo(0, 0, ""); } @Test public void testEnsureIsGreaterOrEqualTo2() { ensureIsGreaterOrEqualTo(0, -0.01, ""); } @Test public void testEnsureIsInRange_Pass() { ensureIsInRange(1.0, 0, 2, ""); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsInRange_Fails_TooLow() { ensureIsInRange(0, 1, 2, ""); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsInRange_Fails_TooHigh() { ensureIsInRange(3, 1, 2, ""); } @Test public void testEnsureIsInstance() { ensureIsInstanceOf("", String.class); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsInstance_GotSupertype() { ensureIsInstanceOf(new Object(), String.class); } @Test public void testEnsureIsInstance_GotSubtype() { ensureIsInstanceOf(Lists.newArrayList(), List.class); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsNotEmpty_WithEmpty() { ensureIsNotEmpty("", ""); } @Test public void testEnsureIsNotEmpty_WithOneElement() { ensureIsNotEmpty(Sets.newHashSet(""), ""); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsEmpty_EmptyCollection() { ensureIsNotEmpty(Collections.emptyList(), ""); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsEmpty_NullCollection() { ensureIsNotEmpty((Collection<?>) null, ""); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsNotEmpty_WithNull() { ensureIsNotEmpty((String) null, ""); } @Test public void testEnsureIsNotEmpty_Pass() { ensureIsNotEmpty(" ", ""); } @Test public void testEnsureIsNotInstanceof_Pass() { ensureIsNotInstanceOf(new Object(), List.class); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsNotInstanceof_Fails() { ensureIsNotInstanceOf(new ArrayList<Object>(), List.class); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsNotNullObject_WithNull() { ensureIsNotNull(null); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsFile_WithDir() { ensureIsFile(SystemUtils.getJavaIoTmpDir()); } @Test public void testEnsureIsNull_WithNull() { ensureIsNull(null); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsNull_WithNonNull() { ensureIsNull(""); } @Test public void testEnsureIsFile_WithFile() throws IOException { final File file = File.createTempFile("test", ".test"); file.deleteOnExit(); ensureIsFile(file); } @Test public void testEnsureIsNotNullObject_NotNullArg() { ensureIsNotNull(""); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsNotZero_WithZero() { ensureIsNotZero(0); } @Test public void testEnsureIsNotZero_WithOne() { ensureIsNotZero(1); } @Test public void testEnsureIsTrueBoolean() { ensureIsTrue(true); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsTrueBoolean_WithFalse() { ensureIsTrue(false); } @Test public void testEnsureIsProbablity_Pass() { Checks.ensureIsProbability(0.0); Checks.ensureIsProbability(0.99); Checks.ensureIsProbability(1.0); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsProbablity_Fail_01() { Checks.ensureIsProbability(-0.01); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsProbablity_Fail_02() { Checks.ensureIsProbability(1.0001); } @Test(expected = IllegalArgumentException.class) public void testEnsureIsProbablity_Fail_03() { Checks.ensureIsProbability(100); } }