Package net.azib.ipscan.gui.actions

Source Code of net.azib.ipscan.gui.actions.GotoActionsTest

/**
* This file is a part of Angry IP Scanner source code,
* see http://www.angryip.org/ for more information.
* Licensed under GPLv2.
*/
package net.azib.ipscan.gui.actions;

import net.azib.ipscan.core.ScanningResult.ResultType;
import net.azib.ipscan.core.ScanningResultList;
import net.azib.ipscan.gui.ResultTable;
import net.azib.ipscan.gui.actions.GotoMenuActions.NextHost;
import net.azib.ipscan.gui.actions.GotoMenuActions.PrevHost;

import org.junit.Test;
import static org.mockito.Mockito.*;

/**
* GotoActionsTest
*
* @author Anton Keks
*/
public class GotoActionsTest {
    private ResultTable table = mock(ResultTable.class, RETURNS_DEEP_STUBS);
    private ScanningResultList results = table.getScanningResults();

    @Test
  public void nextHostFindsFirstHost() throws Exception {
        when(table.getItemCount()).thenReturn(2);
    when(table.getSelectionIndex()).thenReturn(-1);
        when(results.getResult(0).getType()).thenReturn(ResultType.WITH_PORTS);
        new NextHost(table, ResultType.ALIVE).handleEvent(null);
        verify(table).setFocus();
    verify(table).setSelection(0);
    }

    @Test
    public void nextHostStartsFromMiddleRewindsAndFindsFirstOne() {
    when(table.getItemCount()).thenReturn(2);
    when(table.getSelectionIndex()).thenReturn(0);
        when(results.getResult(1).getType()).thenReturn(ResultType.DEAD);
        when(results.getResult(0).getType()).thenReturn(ResultType.ALIVE);
        when(table.getSelectionIndex()).thenReturn(-1);
    new NextHost(table, ResultType.ALIVE).handleEvent(null);
        verify(table).setFocus();
        verify(table).setSelection(0);
    }

    @Test
    public void nextHostFindsSecondItem() {
    when(table.getItemCount()).thenReturn(2);
    when(table.getSelectionIndex()).thenReturn(-1);
        when(results.getResult(0).getType()).thenReturn(ResultType.WITH_PORTS);
        when(results.getResult(1).getType()).thenReturn(ResultType.DEAD);
        new NextHost(table, ResultType.DEAD).handleEvent(null);
        verify(table).setFocus();
        verify(table).setSelection(1);
  }

    @Test
  public void prevHostFindsLastHost() throws Exception {
        when(table.getItemCount()).thenReturn(10);
    when(table.getSelectionIndex()).thenReturn(-1);
        when(results.getResult(9).getType()).thenReturn(ResultType.WITH_PORTS);
        when(table.setFocus()).thenReturn(true);
    new PrevHost(table, ResultType.ALIVE).handleEvent(null);
        verify(table).setFocus();
        verify(table).setSelection(9);
    }

    @Test
    public void prevHostRewindsAndFindsLastItem() {
    when(table.getItemCount()).thenReturn(25);
    when(table.getSelectionIndex()).thenReturn(0);
        when(results.getResult(24).getType()).thenReturn(ResultType.DEAD);
        when(results.getResult(23).getType()).thenReturn(ResultType.ALIVE);
        when(table.getSelectionIndex()).thenReturn(-1);
    new PrevHost(table, ResultType.ALIVE).handleEvent(null);
        verify(table).setFocus();
        verify(table).setSelection(23);
    }

    @Test
    public void prevHostDoesntFindAnything() {
    when(table.getItemCount()).thenReturn(1);
    when(table.getSelectionIndex()).thenReturn(-1);
        when(results.getResult(0).getType()).thenReturn(ResultType.DEAD);
        new PrevHost(table, ResultType.ALIVE).handleEvent(null);
        verify(table, never()).setSelection(anyInt());
  }
}
TOP

Related Classes of net.azib.ipscan.gui.actions.GotoActionsTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.