public void With_doubejump_timestop_spindle_and_cardD_should_get_access_to_past() { var unlockingMap = new ItemUnlockingMap(Seed.Zero); var itemLocations = new ItemLocationMap(new ItemInfoProvider(SeedOptions.None, unlockingMap), unlockingMap, SeedOptions.None); var accessableLocations = itemLocations.GetReachableLocations( Requirement.DoubleJump | Requirement.GateAccessToPast | Requirement.Swimming) .ToArray(); Assert.That(Contains(accessableLocations, new ItemKey(3, 3, 648, 272))); }
public void With_given_requirements_shoud_mark_captians_chests_as_available() { var unlockingMap = new ItemUnlockingMap(Seed.Zero); var itemLocations = new ItemLocationMap(new ItemInfoProvider(SeedOptions.None, unlockingMap), unlockingMap, SeedOptions.None); var accessableLocations = itemLocations.GetReachableLocations( Requirement.GassMask | Requirement.AntiWeed | Requirement.Swimming | Requirement.GateLakeSirineRight | Requirement.DoubleJump) .ToArray(); Assert.That(Contains(accessableLocations, new ItemKey(1, 18, 1320, 189))); Assert.That(Contains(accessableLocations, new ItemKey(1, 18, 1272, 192))); Assert.That(Contains(accessableLocations, new ItemKey(1, 18, 1368, 192))); }
public void With_no_items_only_6_item_locatios_should_be_accessable() { var unlockingMap = new ItemUnlockingMap(Seed.Zero); var itemLocations = new ItemLocationMap(new ItemInfoProvider(SeedOptions.None, unlockingMap), unlockingMap, SeedOptions.None); var accessableLocations = itemLocations.GetReachableLocations(Requirement.None).ToArray(); Assert.That(Contains(accessableLocations, ItemKey.TutorialMeleeOrb)); Assert.That(Contains(accessableLocations, ItemKey.TutorialSpellOrb)); Assert.That(Contains(accessableLocations, new ItemKey(1, 1, 1528, 144))); Assert.That(Contains(accessableLocations, new ItemKey(1, 15, 264, 144))); Assert.That(Contains(accessableLocations, new ItemKey(1, 25, 296, 176))); Assert.That(Contains(accessableLocations, new ItemKey(1, 9, 600, 192))); }