1 package net.pterodactylus.xdcc.ui.stdin;
3 import static java.util.Arrays.asList;
4 import static java.util.Collections.emptyList;
5 import static net.pterodactylus.xdcc.data.Network.builder;
6 import static org.hamcrest.MatcherAssert.assertThat;
7 import static org.hamcrest.Matchers.is;
8 import static org.mockito.Mockito.mock;
9 import static org.mockito.Mockito.when;
11 import java.io.IOException;
12 import java.io.StringWriter;
14 import net.pterodactylus.xdcc.core.Core;
15 import net.pterodactylus.xdcc.data.ConnectedNetwork;
17 import org.junit.Before;
18 import org.junit.Test;
23 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
25 public class StatsCommandTest {
27 private final Core core = mock(Core.class);
28 private final StatsCommand command =
29 new StatsCommand(core);
32 public void setupCore() {
33 ConnectedNetwork network1 = new ConnectedNetwork(
34 builder("TestNet").build(),
38 asList("#channel1", "#channel2"),
43 ConnectedNetwork network2 = new ConnectedNetwork(
44 builder("DummyNet").build(),
48 asList("#dummy1", "#dummy2"),
49 asList("#foo", "#bar"),
53 ConnectedNetwork network3 = new ConnectedNetwork(
54 builder("FooNet").build(),
63 ConnectedNetwork network4 = new ConnectedNetwork(
64 builder("BarNet").build(),
69 asList("#foo", "#bar"),
73 when(core.connectedNetworks()).thenReturn(asList(network1, network2, network3, network4));
77 public void extendedStatsDumpContainsTheCorrectData() throws IOException {
78 StringWriter writer = new StringWriter();
79 command.execute(null, emptyList(), writer);
80 String result = writer.toString();
81 assertThat(result, is(
82 "Connected to TestNet via irc.test.net:6667.\n" +
83 " Joined #channel1, #channel2.\n" +
84 " 17 bots serving 445 packs.\n" +
85 "Connected to DummyNet via irc.dummy.net:6789.\n" +
86 " Joined #dummy1, #dummy2, force-joined #foo, #bar.\n" +
87 " 65 bots serving 234 packs.\n" +
88 "Connected to FooNet via irc.foo.net:7000.\n" +
89 " 118 bots serving 1234 packs.\n" +
90 "Connected to BarNet via irc.bar.net:7001.\n" +
91 " Force-joined #foo, #bar.\n" +
92 " 4 bots serving 21 packs.\n" +
93 "Total: 204 bots, 1934 packs.\n"