@SuppressLint("CommitTransaction")
@Test public void testCreateTransaction() {

	// Arrange:
	final FragmentManager mockManager = mock(FragmentManager.class);
	final FragmentTransaction mockTransaction = mock(FragmentTransaction.class);
	final Fragment mockFragment = mock(TestFragment.class);
	final FragmentController controller = new FragmentController(mockManager);
	controller.setViewContainerId(TestActivity.CONTENT_VIEW_ID);
	final FragmentRequest request = controller.newRequest(mockFragment);
	when(mockManager.beginTransaction()).thenReturn(mockTransaction);
	// Act:
	final FragmentTransaction transaction = controller.createTransaction(request);
	// Assert:
	assertThat(transaction, is(notNullValue()));
	verify(mockFragment, times(0)).setArguments(any(Bundle.class));
	verify(mockTransaction, times(0)).setCustomAnimations(anyInt(), anyInt(), anyInt(), anyInt());
	verify(mockTransaction, times(0)).setCustomAnimations(anyInt(), anyInt());
	verify(mockTransaction, times(0)).setTransitionStyle(anyInt());
	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
		verify(mockTransaction, times(0)).addSharedElement(any(View.class), anyString());
	}
	verify(mockTransaction, times(0)).addToBackStack(anyString());
}