ShouldOrShouldNotBeMatchable<Point> pointShouldOrShouldNotBeMatchable = location.shouldBe(new Point(1, 1));
Point locn = pointShouldOrShouldNotBeMatchable.value();
assertThat(locn.toString(), equalTo("(1, 1)"));
when(we.getLocation()).thenReturn(new Point(1, 1));
try {
<BUG>fwe.location().shouldBe(new Point(2, 2)).value();
</BUG>
fail("should have barfed");
} catch (AssertionError e) {
<BUG>assertThat(e.getMessage(), equalTo("?.div().location().shouldBe((2, 2)) ~ but was (1, 1)."));
</BUG>
}

ShouldOrShouldNotBeMatchable<Point> pointShouldOrShouldNotBeMatchable = location.shouldBe(new Point(1, 1));
Point locn = pointShouldOrShouldNotBeMatchable.value();
assertThat(locn.toString(), equalTo("(1, 1)"));
when(we.getLocation()).thenReturn(new Point(1, 1));
try {
fwe.getLocation().shouldBe(new Point(2, 2)).value();
fail("should have barfed");
} catch (AssertionError e) {
assertThat(e.getMessage(), equalTo("?.div().getLocation().shouldBe((2, 2)) ~ but was (1, 1)."));
}
