/*******************************************************************************
*
* Copyright (c) 2011 Oracle Corporation.
*
* 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: Anton Kozak, Nikita Levyankov
*
*******************************************************************************/
package hudson.scm;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import static junit.framework.Assert.assertEquals;
/**
* Verifies equals and hashcode of {@link SubversionSCM.ModuleLocation}.
* <p/>
* Date: 10/5/2011
*
* @author Anton Kozak, Nikita Levyankov
*/
@RunWith(Parameterized.class)
public class ModuleLocationEqualsHashCodeTest {
private SubversionSCM.ModuleLocation defaultLocation =
new SubversionSCM.ModuleLocation("url", "local", "options", false);
private SubversionSCM.ModuleLocation location;
private boolean expectedResult;
public ModuleLocationEqualsHashCodeTest(SubversionSCM.ModuleLocation location, boolean expectedResult) {
this.location = location;
this.expectedResult = expectedResult;
}
@Parameterized.Parameters
public static Collection generateData() {
return Arrays.asList(new Object[][]{
{new SubversionSCM.ModuleLocation("url", "local", "options", false), true},
{new SubversionSCM.ModuleLocation("url1", "local", "options", false), false},
{new SubversionSCM.ModuleLocation(null, "local1", "options", false), false},
{new SubversionSCM.ModuleLocation("url", null, "options", false), false},
{new SubversionSCM.ModuleLocation("url", "local", "options1", false), false},
{new SubversionSCM.ModuleLocation("url", "local", null, false), false},
{new SubversionSCM.ModuleLocation("url", "local", "options", true), false}
});
}
@Test
public void testEquals() {
assertEquals(expectedResult, defaultLocation.equals(location));
}
@Test
public void testHashCode() {
assertEquals(expectedResult, defaultLocation.hashCode() == location.hashCode());
}
}