Files
Grinch-AP/worlds/sc2/test/test_options.py
Ziktofel 5f1835c546 SC2: Content update (#5312)
Feature highlights:
- Adds many content to the SC2 game
- Allows custom mission order
- Adds race-swapped missions for build missions (except Epilogue and NCO)
- Allows War Council Nerfs (Protoss units can get pre - War Council State, alternative units get another custom nerf to match the power level of base units)
- Revamps Predator's upgrade tree (never was considered strategically important)
- Adds some units and upgrades
- Locked and excluded items can specify quantity
- Key mode (if opt-in, missions require keys to be unlocked on top of their regular regular requirements
- Victory caches - Victory locations can grant multiple items to the multiworld instead of one 
- The generator is more resilient for generator failures as it validates logic for item excludes
- Fixes the following issues:
  - https://github.com/ArchipelagoMW/Archipelago/issues/3531 
  - https://github.com/ArchipelagoMW/Archipelago/issues/3548
2025-09-02 17:40:58 +02:00

20 lines
696 B
Python

import unittest
from typing import Dict
from .. import options
from ..item import item_parents
class TestOptions(unittest.TestCase):
def test_unit_max_upgrades_matching_items(self) -> None:
upgrade_group_to_count: Dict[str, int] = {}
for parent_id, child_list in item_parents.parent_id_to_children.items():
main_parent = item_parents.parent_present[parent_id].constraint_group
if main_parent is None:
continue
upgrade_group_to_count.setdefault(main_parent, 0)
upgrade_group_to_count[main_parent] += len(child_list)
self.assertEqual(options.MAX_UPGRADES_OPTION, max(upgrade_group_to_count.values()))