// Path: src/main/nyc/angus/wordgrid/solver/solution/Position.java
// public class Position {
// 	public int x;
// 	public int y;
// 
// 	public Position(final int x, final int y) {
// 		this.x = x;
// 		this.y = y;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		return Objects.hashCode(x, y);
// 	}
// 
// 	@Override
// 	public boolean equals(final Object object) {
// 		if (object instanceof Position) {
// 			final Position that = (Position) object;
// 			return Objects.equal(this.x, that.x) && Objects.equal(this.y, that.y);
// 		}
// 		return false;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return MoreObjects.toStringHelper(this).add("x", x).add("y", y).toString();
// 	}
// }


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import nyc.angus.wordgrid.solver.solution.Position;
import org.junit.Test;
/*
 * Copyright 2015, Angus Macdonald 
 */

package nyc.angus.wordgrid.test;



/**
 * Tests of the {@link Position} class.
 */
public class PositionTests {

	@Test
	public void equality() {
		final Position a = new Position(1, 1);
		final Position b = new Position(1, 1);

		assertTrue(a.equals(b));
	}

	@Test
	public void equalityWrongObject() {
		final Position a = new Position(1, 1);
		final Object o = new Object();

		assertFalse(a.equals(o));
	}

	@Test
	public void equalityFalseY() {
		final Position a = new Position(1, 1);
		final Position b = new Position(1, 2);

		assertFalse(a.equals(b));
	}

	@Test
	public void equalityFalseX() {
		final Position a = new Position(1, 1);
		final Position b = new Position(2, 1);

		assertFalse(a.equals(b));
	}

	@Test
// Path: src/main/nyc/angus/wordgrid/solver/solution/Position.java
// public class Position {
// 	public int x;
// 	public int y;
// 
// 	public Position(final int x, final int y) {
// 		this.x = x;
// 		this.y = y;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		return Objects.hashCode(x, y);
// 	}
// 
// 	@Override
// 	public boolean equals(final Object object) {
// 		if (object instanceof Position) {
// 			final Position that = (Position) object;
// 			return Objects.equal(this.x, that.x) && Objects.equal(this.y, that.y);
// 		}
// 		return false;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return MoreObjects.toStringHelper(this).add("x", x).add("y", y).toString();
// 	}
// }


// Path: src/test/nyc/angus/wordgrid/test/PositionTests.java
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import nyc.angus.wordgrid.solver.solution.Position;
import org.junit.Test;

/*
 * Copyright 2015, Angus Macdonald 
 */

package nyc.angus.wordgrid.test;



/**
 * Tests of the {@link Position} class.
 */
public class PositionTests {

	@Test
	public void equality() {
		final Position a = new Position(1, 1);
		final Position b = new Position(1, 1);

		assertTrue(a.equals(b));
	}

	@Test
	public void equalityWrongObject() {
		final Position a = new Position(1, 1);
		final Object o = new Object();

		assertFalse(a.equals(o));
	}

	@Test
	public void equalityFalseY() {
		final Position a = new Position(1, 1);
		final Position b = new Position(1, 2);

		assertFalse(a.equals(b));
	}

	@Test
	public void equalityFalseX() {
		final Position a = new Position(1, 1);
		final Position b = new Position(2, 1);

		assertFalse(a.equals(b));
	}

	@Test
	public void testHashCode() {