@SuppressWarnings("ConstantConditions")
@Test public void testSharedElement() {

	// Arrange:
	final TestTransition transition = new TestTransition();
	final View firstElement = new View(context);
	final View secondElement = new View(context);
	final View thirdElement = new View(context);
	// Act:
	transition.sharedElement(firstElement, "first_element");
	transition.sharedElement(secondElement, "second_element");
	transition.sharedElement(thirdElement, "third_element");
	// Assert:
	final List<Pair<View, String>> sharedElements = transition.sharedElements();
	assertThat(sharedElements, is(notNullValue()));
	assertThat(sharedElements.size(), is(3));
	assertThat(sharedElements.get(0).first, is(firstElement));
	assertThat(sharedElements.get(0).second, is("first_element"));
	assertThat(sharedElements.get(1).first, is(secondElement));
	assertThat(sharedElements.get(1).second, is("second_element"));
	assertThat(sharedElements.get(2).first, is(thirdElement));
	assertThat(sharedElements.get(2).second, is("third_element"));
}