Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add missing test for autumnaton #1154

Merged
merged 1 commit into from
Oct 7, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/net/sourceforge/kolmafia/session/AutumnatonManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.Arrays;
import java.util.Map;
import java.util.function.Predicate;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
Expand Down Expand Up @@ -46,6 +47,7 @@ private static void parseUpgrade(final String responseText) {
.filter(e -> responseText.contains(e.getValue()))
.map(Map.Entry::getKey),
Arrays.stream(Preferences.getString("autumnatonUpgrades").split(",")))
.filter(Predicate.not(String::isBlank))
.distinct()
.sorted()
.collect(Collectors.joining(","));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,24 @@ public void canDetectUpgrades(final String fixture, final String upgrades) {
}
}

@ParameterizedTest
@CsvSource({
"upgrade_right_leg, '', 'rightleg1'",
"upgrade_multiple, '', 'cowcatcher,leftleg1,rightarm1'",
"upgrade_multiple, 'leftarm1', 'cowcatcher,leftarm1,leftleg1,rightarm1'"
})
public void canDetectNewUpgrade(
final String fixture, final String upgradesBefore, final String expectedUpgradesAfter) {
var cleanups =
new Cleanups(
withProperty("autumnatonUpgrades", upgradesBefore),
withChoice(1483, 1, html("request/test_choice_autumnaton_" + fixture + ".html")));

try (cleanups) {
assertThat("autumnatonUpgrades", isSetTo(expectedUpgradesAfter));
}
}

@ParameterizedTest
@CsvSource({
"0, '', 11",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<html><head><script language=Javascript><!--if (parent.frames.length == 0) location.href="game.php";top.charpane.location.href="charpane.php";//--></script><script language=Javascript src="https://d2uyhvukfffg5a.cloudfront.net/scripts/jquery-1.5.1.js"></script><script language=Javascript src="https://d2uyhvukfffg5a.cloudfront.net/scripts/keybinds.min.2.js"></script><script language=Javascript src="https://d2uyhvukfffg5a.cloudfront.net/scripts/window.20111231.js"></script><script language="javascript">function chatFocus(){if(top.chatpane.document.chatform.graf) top.chatpane.document.chatform.graf.focus();}if (typeof defaultBind != 'undefined') { defaultBind(47, 2, chatFocus); defaultBind(190, 2, chatFocus);defaultBind(191, 2, chatFocus); defaultBind(47, 8, chatFocus);defaultBind(190, 8, chatFocus); defaultBind(191, 8, chatFocus); }</script><script>function switchFocus(){if (top.chatpane.document.chatform.graf.focus)top.chatpane.document.chatform.graf.focus();return false;}function repeat(){var linx = document.getElementsByTagName("A");for (var i = 0; i < linx.length; i++){if (typeof timersfunc != 'undefined') {if (!timersfunc()) {return;}timersfunc = null;}var link = linx[i];if (link.innerHTML.match(/Adventure Again/) || link.innerHTML.match(/Do it again/))location.href = link.href;}}defaultBind(47, CTRL, switchFocus);defaultBind(191, CTRL, switchFocus);defaultBind(47, META, switchFocus);defaultBind(191, META, switchFocus);defaultBind(192, NONE, repeat);defaultBind(220, NONE, repeat);</script><script language="javascript">function updateParseItem(iid, field, info) {var tbl = $('#ic'+iid);var data = parseItem(tbl);if (!data) return;data[field] = info;var out = [];for (i in data) {if (!data.hasOwnProperty(i)) continue;out.push(i+'='+data[i]);}tbl.attr('rel', out.join('&'));}function parseItem(tbl) {tbl = $(tbl);var rel = tbl.attr('rel');var data = {};if (!rel) return data;var parts = rel.split('&');for (i in parts) {if (!parts.hasOwnProperty(i)) continue;var kv = parts[i].split('=');tbl.data(kv[0], kv[1]);data[kv[0]] = kv[1];}return data;}</script><script type="text/javascript" src="https://d2uyhvukfffg5a.cloudfront.net/scripts/pop_query.20130705.js"></script><script type="text/javascript"> function pop_ircm(clicked) { return false; } </script><script>var currentkey = 49;$(document).ready(function () {$('form').each(function () {var form = this;defaultBind(currentkey++, NONE, function () { form.submit(); });return currentkey < 58;});});</script> <link rel="stylesheet" type="text/css" href="https://d2uyhvukfffg5a.cloudfront.net/styles.20151006.css"><style type='text/css'>.faded {zoom: 1;filter: alpha(opacity=35);opacity: 0.35;-khtml-opacity: 0.35;-moz-opacity: 0.35;}</style></head><body><Center><div id="results"><table width=95% cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Results:</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><span class='guts'>You attach an upgraded left leg and a high performance right arm and a collection prow to your autumn-aton.</span></td></tr></table></center></td></tr><tr><td height=4></td></tr></table></div><table width=95% cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Direct Autumn-Aton</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><center><div style="position: relative; height: 150px; width: 150px;"><img src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/autumnaton/base.png" height="150" width="150" style="position: absolute; left: 0px; top: 0px;" /><img src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/autumnaton/leftarm0.png" style="position: absolute; left: 0px; top: 0px;" /><img src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/autumnaton/leftleg1.png" style="position: absolute; left: 0px; top: 0px;" /><img src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/autumnaton/rightarm1.png" style="position: absolute; left: 0px; top: 0px;" /><img src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/autumnaton/rightleg0.png" style="position: absolute; left: 0px; top: 0px;" /><img src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/autumnaton/cowcatcher.png" style="position: absolute; left: 0px; top: 0px;" /></div><div style="border: 1px solid black; font-family: monospace; padding: 1em">Estimated Expedition Time: 22 adventures<br />Visual Acuity: Adequate<br />Zone Collection Estimate: 4<br />Seasonal Collection Estimate: 2<br />Expected Experiential Transfer: 132<br /></div><p><form method="post" action="choice.php"><input type="hidden" name="option" value="2" /><input type="hidden" name="pwd" value="69dec2da067854178731d0cbbae29847" /><input type="hidden" name="whichchoice" value="1483" /><input type="submit" class="button" value="Send your autumn-aton to: " /><select required name="heythereprogrammer"><option selected disabled value="">-- select a location --</option><option value="240">Noob Cave</option><option value="403">Sloppy Seconds Diner</option><option value="451">The Bubblin' Caldera</option><option value="92">The Dire Warren</option><option value="402">The Fun-Guy Mansion</option><option value="271">The Goatlet</option><option value="113">The Haunted Pantry</option><option value="112">The Sleazy Back Alley</option><option value="404">The Sunken Party Yacht</option><option value="449">The Velvet / Gold Mine</option></select></form><form method="post" action="choice.php"><input type="hidden" name="option" value="3" /><input type="hidden" name="pwd" value="69dec2da067854178731d0cbbae29847" /><input type="hidden" name="whichchoice" value="1483" /><input type="submit" class="button" value="Back to Inventory" /></form></center></td></tr></table></center></td></tr><tr><td height=4></td></tr></table><script>top.charpane.location.href="charpane.php";</script></body></html>