chat commands: update to parse new adv log pb counters
This commit is contained in:
@@ -30,6 +30,7 @@ import com.google.inject.Guice;
|
||||
import com.google.inject.testing.fieldbinder.Bind;
|
||||
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.ChatMessageType;
|
||||
@@ -46,7 +47,7 @@ import net.runelite.api.events.ScriptPostFired;
|
||||
import net.runelite.api.events.WidgetLoaded;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
import static net.runelite.api.widgets.WidgetID.ADVENTURE_LOG_ID;
|
||||
import static net.runelite.api.widgets.WidgetID.GENERIC_SCROLL_GROUP_ID;
|
||||
import static net.runelite.api.widgets.WidgetID.DIARY_QUEST_GROUP_ID;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.chat.ChatCommandManager;
|
||||
import net.runelite.client.chat.ChatMessageManager;
|
||||
@@ -66,11 +67,9 @@ import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Mock;
|
||||
import static org.mockito.Mockito.any;
|
||||
import static org.mockito.Mockito.anyString;
|
||||
import static org.mockito.Mockito.atLeastOnce;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
|
||||
@@ -541,181 +540,6 @@ public class ChatCommandsPluginTest
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric", 20 * 60 + 19.2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAdventureLogCountersPage()
|
||||
{
|
||||
Widget advLogWidget = mock(Widget.class);
|
||||
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + PLAYER_NAME);
|
||||
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||
when(configManager.getRSProfileConfiguration(anyString(), anyString(), any(Class.class))).thenReturn(2224.0);
|
||||
|
||||
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
String COUNTER_TEXT = "Duel Arena<br>Wins: <col=d0c0b0>4</col><br>Losses: <col=d0c0b0>2</col>" +
|
||||
"<br><br>Last Man Standing<br>Rank: <col=d0c0b0>0</col>" +
|
||||
"<br><br>Treasure Trails<br>Beginner: <col=d0c0b0>0</col><br>Easy: <col=d0c0b0>7</col>" +
|
||||
"<br>Medium: <col=d0c0b0>28</col><br>Hard: <col=d0c0b0>108</col><br>Elite: <col=d0c0b0>15</col>" +
|
||||
"<br>Master: <col=d0c0b0>27</col><br>Rank: <col=d0c0b0>Novice</col>" +
|
||||
"<br><br>Chompy Hunting<br>Kills: <col=d0c0b0>1,000</col><br>Rank: <col=d0c0b0>Ogre Expert</col>" +
|
||||
"<br><br>Order of the White Knights<br>Rank: <col=d0c0b0>Master</col><br>with a kill score of <col=d0c0b0>1,300</col>" +
|
||||
"<br><br>TzHaar Fight Cave<br>Fastest run: <col=d0c0b0>38:10</col>" +
|
||||
"<br><br>Inferno<br>Fastest run: <col=d0c0b0>-</col><br><br>Zulrah<br>" +
|
||||
"Fastest kill: <col=d0c0b0>5:48</col><br><br>Vorkath<br>Fastest kill: <col=d0c0b0>1:21</col>" +
|
||||
"<br><br>Galvek<br>Fastest kill: <col=d0c0b0>-</col><br><br>Grotesque Guardians<br>" +
|
||||
"Fastest kill: <col=d0c0b0>2:49</col><br><br>Alchemical Hydra<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||
"<br><br>Hespori<br>Fastest kill: <col=d0c0b0>0:57</col><br><br>Nightmare<br>" +
|
||||
"Fastest kill: <col=d0c0b0>3:30</col><br><br>The Gauntlet<br>Fastest run: <col=d0c0b0>-</col>" +
|
||||
"<br><br>The Corrupted Gauntlet<br>Fastest run: <col=d0c0b0>-</col><br><br>Fragment of Seren<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||
"<br><br>Chambers of Xeric<br>Fastest run - (Team size: 24+ players): <col=d0c0b0>24:17</col>" +
|
||||
"<br><br>Chambers of Xeric - Challenge mode<br>Fastest run - (Team size: Solo): <col=d0c0b0>22:15</col>" +
|
||||
"<br><br>Barbarian Assault<br>High-level gambles: <col=d0c0b0>0</col><br><br>Fremennik spirits rested: <col=d0c0b0>0</col>";
|
||||
|
||||
Widget countersPage = mock(Widget.class);
|
||||
when(countersPage.getText()).thenReturn(COUNTER_TEXT);
|
||||
when(client.getWidget(WidgetInfo.GENERIC_SCROLL_TEXT)).thenReturn(countersPage);
|
||||
|
||||
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||
countersLogEvent.setGroupId(GENERIC_SCROLL_GROUP_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "tztok-jad", 38 * 60 + 10.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "zulrah", 5 * 60 + 48.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "vorkath", 60 + 21.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "grotesque guardians", 2 * 60 + 49.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "hespori", 57.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "nightmare", 3 * 60 + 30.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric", 24 * 60 + 17.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric challenge mode", 22 * 60 + 15.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAdventurerLogCountersPage2()
|
||||
{
|
||||
Widget advLogWidget = mock(Widget.class);
|
||||
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + PLAYER_NAME);
|
||||
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||
|
||||
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
String COUNTER_TEXT = "Duel Arena<br>Wins: <col=d0c0b0>12</col><br>Losses: <col=d0c0b0>20</col>" +
|
||||
"<br><br>Last Man Standing<br>Rank: <col=d0c0b0>0</col>" +
|
||||
"<br><br>Treasure Trails<br>Beginner: <col=d0c0b0>1</col><br>Easy: <col=d0c0b0>4</col>" +
|
||||
"<br>Medium: <col=d0c0b0>35</col><br>Hard: <col=d0c0b0>66</col><br>Elite: <col=d0c0b0>2</col>" +
|
||||
"<br>Master: <col=d0c0b0>0</col><br>Rank: <col=d0c0b0>Novice</col>" +
|
||||
"<br><br>Chompy Hunting<br>Kills: <col=d0c0b0>300</col><br>Rank: <col=d0c0b0>Ogre Forester</col>" +
|
||||
"<br><br>Order of the White Knights<br>Rank: <col=d0c0b0>Unrated</col><br>with a kill score of <col=d0c0b0>99</col>" +
|
||||
"<br><br>TzHaar Fight Cave<br>Fastest run: <col=d0c0b0>65:12</col>" +
|
||||
"<br><br>Inferno<br>Fastest run: <col=d0c0b0>-</col><br><br>Zulrah<br>" +
|
||||
"Fastest kill: <col=d0c0b0>2:55</col><br><br>Vorkath<br>Fastest kill: <col=d0c0b0>1:37</col>" +
|
||||
"<br><br>Galvek<br>Fastest kill: <col=d0c0b0>-</col><br><br>Grotesque Guardians<br>" +
|
||||
"Fastest kill: <col=d0c0b0>-</col><br><br>Alchemical Hydra<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||
"<br><br>Hespori<br>Fastest kill: <col=d0c0b0>1:42</col><br><br>Nightmare<br>" +
|
||||
"Fastest kill: <col=d0c0b0>-</col><br><br>The Gauntlet<br>Fastest run: <col=d0c0b0>-</col>" +
|
||||
"<br><br>The Corrupted Gauntlet<br>Fastest run: <col=d0c0b0>-</col><br><br>Fragment of Seren<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||
"<br><br>Chambers of Xeric<br>Fastest run - (Team size: Solo): <col=d0c0b0>21:23</col><br>Fastest run - (Team size: 3 players): <col=d0c0b0>27:16</col>" +
|
||||
"<br><br>Chambers of Xeric - Challenge mode<br>Fastest run - (Team size: Solo): <col=d0c0b0>34:30</col><br>Fastest run - (Team size: 4 players): <col=d0c0b0>21:26</col>" +
|
||||
"<br><br>Barbarian Assault<br>High-level gambles: <col=d0c0b0>0</col><br><br>Fremennik spirits rested: <col=d0c0b0>0</col>";
|
||||
|
||||
Widget countersPage = mock(Widget.class);
|
||||
when(countersPage.getText()).thenReturn(COUNTER_TEXT);
|
||||
when(client.getWidget(WidgetInfo.GENERIC_SCROLL_TEXT)).thenReturn(countersPage);
|
||||
|
||||
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||
countersLogEvent.setGroupId(GENERIC_SCROLL_GROUP_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "tztok-jad", 65 * 60 + 12.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "zulrah", 2 * 60 + 55.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "vorkath", 60 + 37.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "hespori", 60 + 42.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric", 21 * 60 + 23.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric challenge mode", 21 * 60 + 26.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAdventurerLogCountersPagePrecise()
|
||||
{
|
||||
Widget advLogWidget = mock(Widget.class);
|
||||
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + PLAYER_NAME);
|
||||
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||
|
||||
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
String COUNTER_TEXT = "Duel Arena<br>Wins: <col=d0c0b0>12</col><br>Losses: <col=d0c0b0>20</col>" +
|
||||
"<br><br>Last Man Standing<br>Rank: <col=d0c0b0>0</col>" +
|
||||
"<br><br>Treasure Trails<br>Beginner: <col=d0c0b0>1</col><br>Easy: <col=d0c0b0>4</col>" +
|
||||
"<br>Medium: <col=d0c0b0>35</col><br>Hard: <col=d0c0b0>66</col><br>Elite: <col=d0c0b0>2</col>" +
|
||||
"<br>Master: <col=d0c0b0>0</col><br>Rank: <col=d0c0b0>Novice</col>" +
|
||||
"<br><br>Chompy Hunting<br>Kills: <col=d0c0b0>300</col><br>Rank: <col=d0c0b0>Ogre Forester</col>" +
|
||||
"<br><br>Order of the White Knights<br>Rank: <col=d0c0b0>Unrated</col><br>with a kill score of <col=d0c0b0>99</col>" +
|
||||
"<br><br>TzHaar Fight Cave<br>Fastest run: <col=d0c0b0>65:12.00</col>" +
|
||||
"<br><br>Inferno<br>Fastest run: <col=d0c0b0>-</col><br><br>Zulrah<br>" +
|
||||
"Fastest kill: <col=d0c0b0>2:55.20</col><br><br>Vorkath<br>Fastest kill: <col=d0c0b0>1:37.20</col>" +
|
||||
"<br><br>Galvek<br>Fastest kill: <col=d0c0b0>-</col><br><br>Grotesque Guardians<br>" +
|
||||
"Fastest kill: <col=d0c0b0>-</col><br><br>Alchemical Hydra<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||
"<br><br>Hespori<br>Fastest kill: <col=d0c0b0>1:42.40</col><br><br>Nightmare<br>" +
|
||||
"Fastest kill: <col=d0c0b0>-</col><br><br>The Gauntlet<br>Fastest run: <col=d0c0b0>-</col>" +
|
||||
"<br><br>The Corrupted Gauntlet<br>Fastest run: <col=d0c0b0>-</col><br><br>Fragment of Seren<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||
"<br><br>Chambers of Xeric<br>Fastest run - (Team size: Solo): <col=d0c0b0>21:23.20</col><br>Fastest run - (Team size: 3 players): <col=d0c0b0>27:16.40</col>" +
|
||||
"<br><br>Chambers of Xeric - Challenge mode<br>Fastest run - (Team size: Solo): <col=d0c0b0>34:30.20</col><br>Fastest run - (Team size: 4 players): <col=d0c0b0>21:26.00</col>" +
|
||||
"<br><br>Barbarian Assault<br>High-level gambles: <col=d0c0b0>0</col><br><br>Fremennik spirits rested: <col=d0c0b0>0</col>";
|
||||
|
||||
Widget countersPage = mock(Widget.class);
|
||||
when(countersPage.getText()).thenReturn(COUNTER_TEXT);
|
||||
when(client.getWidget(WidgetInfo.GENERIC_SCROLL_TEXT)).thenReturn(countersPage);
|
||||
|
||||
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||
countersLogEvent.setGroupId(GENERIC_SCROLL_GROUP_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "tztok-jad", 65 * 60 + 12.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "zulrah", 2 * 60 + 55.2);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "vorkath", 60 + 37.2);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "hespori", 60 + 42.40);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric", 21 * 60 + 23.20);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric challenge mode", 21 * 60 + 26.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotYourAdventureLogCountersPage()
|
||||
{
|
||||
Widget advLogWidget = mock(Widget.class);
|
||||
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + "not the player");
|
||||
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||
|
||||
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||
countersLogEvent.setGroupId(GENERIC_SCROLL_GROUP_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
verifyNoMoreInteractions(configManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlayerSkillLookup() throws IOException
|
||||
{
|
||||
@@ -1122,4 +946,130 @@ public class ChatCommandsPluginTest
|
||||
// h:mm:ss
|
||||
assertEquals(2 * 3600 + 50 * 60 + 30.2, ChatCommandsPlugin.timeStringToSeconds("2:50:30.20"), DELTA);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCounters()
|
||||
{
|
||||
final String[] log = {
|
||||
"Chompy Hunting",
|
||||
"Kills: <col=ffffff>1,003</col>",
|
||||
"Rank: <col=ffffff>Ogre Expert</col>",
|
||||
"",
|
||||
"Order of the White Knights",
|
||||
"Rank: <col=ffffff>Master</col>",
|
||||
"with a kill score of <col=ffffff>1,300</col>",
|
||||
"",
|
||||
"TzHaar Fight Cave",
|
||||
"Fastest run: <col=ffffff>33:53</col>",
|
||||
"",
|
||||
"Inferno",
|
||||
"Fastest run: <col=ffffff>2:02:20</col>",
|
||||
"",
|
||||
"Zulrah",
|
||||
"Fastest kill: <col=ffffff>0:47</col>",
|
||||
"",
|
||||
"Vorkath",
|
||||
"Fastest kill: <col=ffffff>1:04</col>",
|
||||
"",
|
||||
"Galvek",
|
||||
"Fastest kill: <col=ffffff>-</col>",
|
||||
"",
|
||||
"Grotesque Guardians",
|
||||
"Fastest kill: <col=ffffff>1:20</col>",
|
||||
"",
|
||||
"Alchemical Hydra",
|
||||
"Fastest kill: <col=ffffff>1:34</col>",
|
||||
"",
|
||||
"Hespori",
|
||||
"Fastest kill: <col=ffffff>1:24</col>",
|
||||
"",
|
||||
// Nightmare is here 3x!
|
||||
"Nightmare", // including one only called "Nightmare"
|
||||
"Fastest kill: <col=ffffff>-</col>", // with no time
|
||||
"",
|
||||
"The Nightmare",
|
||||
"Fastest kill - (Team size: 6+ players): <col=ffffff>3:22</col>",
|
||||
"",
|
||||
"The Nightmare",
|
||||
"Fastest kill - (Team size: 6+ players): <col=ffffff>3:22</col>",
|
||||
"",
|
||||
"Phosani's Nightmare",
|
||||
"Fastest kill: <col=ffffff>-</col>",
|
||||
"",
|
||||
"The Gauntlet",
|
||||
"Fastest run: <col=ffffff>-</col>",
|
||||
"",
|
||||
"The Corrupted Gauntlet",
|
||||
"Fastest run: <col=ffffff>-</col>",
|
||||
"",
|
||||
"Fragment of Seren",
|
||||
"Fastest kill: <col=ffffff>-</col>",
|
||||
"",
|
||||
"Chambers of Xeric",
|
||||
"Fastest run - (Team size: Solo): <col=ffffff>28:07</col>",
|
||||
"Fastest run - (Team size: 2 players): <col=ffffff>24:40</col>",
|
||||
"Fastest run - (Team size: 3 players): <col=ffffff>25:35</col>",
|
||||
"Fastest run - (Team size: 4 players): <col=ffffff>22:40</col>",
|
||||
"Fastest run - (Team size: 5 players): <col=ffffff>23:00</col>",
|
||||
"Fastest run - (Team size: 6 players): <col=ffffff>28:11</col>",
|
||||
"",
|
||||
"Chambers of Xeric - Challenge mode",
|
||||
"Fastest run - (Team size: 3 players): <col=ffffff>45:41</col>",
|
||||
"",
|
||||
"Theatre of Blood",
|
||||
"Fastest Room time (former): <col=ffffff>18:45</col>",
|
||||
"Fastest Wave time (former): <col=ffffff>22:01</col>",
|
||||
"Fastest Room time - (Team size: (3 player): <col=ffffff>19:50</col>",
|
||||
"Fastest Overall time - (Team size: 3 player): <col=ffffff>22:47</col>",
|
||||
"Fastest Room time - (Team size: (4 player): <col=ffffff>17:38</col>",
|
||||
"Fastest Overall time - (Team size: 4 player): <col=ffffff>20:31</col>",
|
||||
"Fastest Room time - (Team size: (5 player): <col=ffffff>18:45</col>",
|
||||
"Fastest Overall time - (Team size: 5 player): <col=ffffff>22:01</col>",
|
||||
"",
|
||||
"Tempoross",
|
||||
"Fastest run: <col=ffffff>3:54</col>",
|
||||
"",
|
||||
"Barbarian Assault",
|
||||
"High-level gambles: <col=ffffff>0</col>",
|
||||
"",
|
||||
"Fremennik spirits rested: <col=ffffff>0</col>",
|
||||
};
|
||||
|
||||
// adv log
|
||||
Widget advLogWidget = mock(Widget.class);
|
||||
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + PLAYER_NAME);
|
||||
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||
|
||||
// counters
|
||||
when(client.getWidget(WidgetInfo.DIARY_QUEST_WIDGET_TEXT)).thenAnswer(a ->
|
||||
{
|
||||
Widget widget = mock(Widget.class);
|
||||
Widget[] children = Arrays.stream(log)
|
||||
.map(s ->
|
||||
{
|
||||
Widget w = mock(Widget.class);
|
||||
when(w.getText()).thenReturn(s);
|
||||
return w;
|
||||
})
|
||||
.toArray(Widget[]::new);
|
||||
when(widget.getStaticChildren()).thenReturn(children);
|
||||
return widget;
|
||||
});
|
||||
|
||||
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||
countersLogEvent.setGroupId(DIARY_QUEST_GROUP_ID);
|
||||
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||
chatCommandsPlugin.onGameTick(new GameTick());
|
||||
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "tztok-jad", 2033.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "tempoross", 234.0);
|
||||
verify(configManager).setRSProfileConfiguration("personalbest", "chambers of xeric", 1360.0); // the lowest time
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user