@Test
public void testSwap() {

  mySideModel.swap();
  assertThat(mySideModel.getVisibleTools(Side.RIGHT)).containsExactly(myToolWindow1, myToolWindow2).inOrder();
  assertThat(mySideModel.getVisibleTools(Side.LEFT)).containsExactly(myToolWindow4);
  assertThat(mySideModel.getHiddenTools(Side.RIGHT)).containsExactly(myToolWindow3);
  assertThat(mySideModel.getHiddenTools(Side.LEFT)).containsExactly(myToolWindow5);
  assertThat(mySideModel.getTopTools(Side.RIGHT)).containsExactly(myToolWindow1);
  assertThat(mySideModel.getTopTools(Side.LEFT)).containsExactly(myToolWindow4, myToolWindow5).inOrder();
  assertThat(mySideModel.getBottomTools(Side.RIGHT)).containsExactly(myToolWindow2, myToolWindow3).inOrder();
  assertThat(mySideModel.getBottomTools(Side.LEFT)).isEmpty();
  assertThat(mySideModel.getVisibleAutoHideTool()).isNull();
  assertThat(mySideModel.getHiddenSliders()).isEmpty();
  assertThat(mySideModel.getDetachedTools()).containsExactly(myFloatingToolWindow1, myFloatingToolWindow2).inOrder();
  verify(myListener).modelChanged(eq(mySideModel), eq(SWAP));
}