/*******************************************************************************
* Copyright (c) 2012-2016 Codenvy, S.A.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Codenvy, S.A. - initial API and implementation
*******************************************************************************/
package org.eclipse.che.ide.extension.machine.client.perspective.widgets.tab;
import org.eclipse.che.ide.extension.machine.client.perspective.widgets.tab.container.TabContainerView.TabSelectHandler;
import org.eclipse.che.ide.extension.machine.client.perspective.widgets.tab.content.TabPresenter;
import org.eclipse.che.ide.extension.machine.client.perspective.widgets.tab.header.TabHeader;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.sameInstance;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
/**
* @author Dmitry Shnurenko
*/
@RunWith(MockitoJUnitRunner.class)
public class TabImplTest {
@Mock
private TabHeader header;
@Mock
private TabPresenter content;
@Mock
private TabSelectHandler handler;
private TabImpl tab;
@Before
public void setUp() {
tab = new TabImpl(header, content, handler);
}
@Test
public void headerShouldBeReturned() {
TabHeader testHeader = tab.getHeader();
assertThat(testHeader, sameInstance(header));
}
@Test
public void contentShouldBeReturned() {
TabPresenter testContent = tab.getContent();
assertThat(testContent, sameInstance(content));
}
@Test
public void handlerShouldBePerformed() {
tab.performHandler();
verify(handler).onTabSelected();
}
@Test
public void handlerShouldNotBeCalledWhenItIsNull() {
Tab tab = new TabImpl(header, content, null);
tab.performHandler();
verify(handler, never()).onTabSelected();
}
}