el-u
6c908de13f
core: add a test to verify that fill_restrictive removes the exact same item from the item_pool that it has used to fill
2023-07-30 20:11:29 +02:00
black-sliver
7b8f8918fc
Settings: change/fix tests behavior ( #2053 )
...
* Settings: disable saving and gui during tests
* Tests: create a fresh host.yaml for TestHostYAML
Now that host.yaml is .gitignored, testing the local host.yaml makes no sense anymore
2023-07-29 18:50:21 +02:00
Fabian Dill
60586aa284
Tests: ensure unreachable_regions is correctly set
2023-07-18 12:41:26 +02:00
Aaron Wagener
9b15278de8
Core: Add support for non dictionary iterables for Region.add_exits
( #1698 )
...
* Core: Add support for non dictionary iterables for `Region.add_exits`
* some cleanup and duplicate code removal
* add unit test for non dict iterable
* use more consistent naming
* sometimes i just make stuff harder on myself :)
2023-06-30 20:37:44 -05:00
Zach Parks
c9fb443c64
OriBF: Move Ori and the Blind Forest to worlds_disabled
. ( #1906 )
...
* OriBF: Move Ori and the Blind Forest to `worlds_disabled/`
* Add readme for `worlds_disabled` folder
* fix link
* fix link 2
* Remove useless comment
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com >
---------
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com >
2023-06-29 13:36:48 -05:00
black-sliver
a45e8730cb
Fill: fix fill_restrictive for mixed minimal and non-minimal and test ( #1800 )
...
* Tests: add test for mixing minimal and non-minimal
* Tests: minor cleanup in test_minimal_mixed_fill
* fix fill_restrictive for mixed minimal/non-minimal
The reason why this only happens for minimal is because it would not accept the solution it found otherwise.
Tracking and releasing unreachable items would be the better solution, but that's a lot harder to do.
* fix typo in fill_restrictive
* fix pep8 in fill_restrictive
* Fill: cleanup invalid unsafe placements, better comments
* Fill: more cleanup
2023-06-25 02:55:13 +02:00
Fabian Dill
58cf9783eb
Tests: make names more unique
2023-06-01 01:45:24 +02:00
Fabian Dill
a60f370224
Test: fix setting seed from the hash of the seed method, rather than calling it
2023-05-03 04:31:35 +02:00
alwaysintreble
f52ca2571f
Tests: Add tests for location name groups ( #1706 )
2023-04-14 20:11:01 +02:00
alwaysintreble
94a02510c0
core: Region management helpers ( #761 )
2023-04-10 21:07:37 +02:00
Fabian Dill
9d73988030
Tests: check that options have a docstring ( #823 )
2023-04-10 04:33:47 +02:00
Fabian Dill
90813c0f4b
Test: explicitly make sure there is no double use of location Name or ID ( #1605 )
2023-03-26 16:04:13 -07:00
alwaysintreble
9cb9cbe47d
Tests: test that worlds don't create regions or locations after create_items
( #1465 )
...
* Tests: test that worlds don't create regions or locations after `create_items`
* recache during the location counts just to be extra safe
* adjust typing and use a Tuple instead of a list
* remove unused import
2023-02-27 02:13:24 +01:00
alwaysintreble
1d6ab13015
ArchipIDLE: add a completion condition instead of hard coding tests around a game ( #1444 )
2023-02-23 21:16:10 -05:00
Fabian Dill
ecd2675ea8
Tests: check that Regions are reachable ( #1034 )
...
* Tests: check that Regions are reachable
try to prevent errors from unconnected/never reachable Regions
* Test region access (#1039 )
* Tests: note oot's default unreachable regions
* [SM] Fixed failing testAllStateCanReachEverything (#1087 )
* [SM] Fixed failing testAllStateCanReachEverything
- by adding exclusion for Regions used only when corresponding Starting Location is used
- by removing unnecessary VARIA Regions used only for EscapeRando (not supported in AP anyway)
* Update worlds/sm/Regions.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
* Update worlds/sm/Rules.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
* Update worlds/sm/Regions.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
* Update test/general/TestReachability.py
---------
Co-authored-by: espeon65536 <81029175+espeon65536@users.noreply.github.com >
Co-authored-by: lordlou <87331798+lordlou@users.noreply.github.com >
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2023-02-19 23:09:54 +01:00
el-u
ad4846cedd
core: clarify usage of classmethods in World class ( #1449 )
2023-02-16 00:28:02 +01:00
alwaysintreble
8af7908cd0
Tests: datapackage and more multiworld renaming ( #1454 )
...
* Tests: add a test that created items and locations exist in the datapackage
* move FF validation to `assert_generate` and remove test exclusion
* test created location addresses are correct
* make the assertion proper and more verbose
* make item count test ~~a bit faster~~ a lot nicer
* 120 blaze it
* name test multiworld setup better and fix another over 120 line in FFR
2023-02-15 22:46:10 +01:00
alwaysintreble
7cbeb8438b
core: rip out RegionType and rework Region class ( #814 )
2023-02-14 01:06:43 +01:00
alwaysintreble
9e3c2e2464
Tests: test that exits to Regions
are the parents of the Entrance
( #1442 )
2023-02-13 02:05:52 +01:00
Fabian Dill
2f37bedc92
Tests: ensure item name groups do not collide with item names ( #1074 )
2023-01-18 15:45:48 +01:00
alwaysintreble
b8abe9f980
Tests: add a test to check for dupe locations ( #1378 )
2023-01-15 20:18:32 +01:00
Fabian Dill
78d4da53a7
Tests: verify and fix host.yaml/Utils.py match ( #1302 )
2022-12-08 02:06:34 +01:00
espeon65536
edd1fff4b7
Core: make early_items internal only ( #1177 )
...
Co-authored-by: beauxq <beauxq@yahoo.com >
2022-11-16 17:32:33 +01:00
espeon65536
4e5c10ad66
OoT: make Bottles and Adult Trade Item hintable groups ( #1222 )
...
* OoT: make Bottles and Adult Trade Item hintable groups
2022-11-09 22:07:14 +01:00
Doug Hoskisson
c933fa7e34
Core: optimize early items and add unit test ( #1197 )
...
* optimize early items and add unit test
* move sorting list init closer to sorting
2022-11-04 17:56:47 +01:00
alwaysintreble
2af510328e
Core: rename world
to multiworld
( #931 )
...
* rename references to `Multiworld` in core to `multiworld` instead of `world`
* fix smz3
* fix oot
* fix low hanging fruit
* revert mysteriously broken spacing in world api.md
* fix more randomly broken spacing
* hate
* that better be all of it
* begrudgingly move over smw
* ._.
* missed some worlds
* this is getting tedious now
* Missed some self.world definitions
Co-authored-by: espeon65536 <espeon65536@gmail.com >
Co-authored-by: Zach Parks <zach@alliware.com >
2022-10-31 21:41:21 -05:00
black-sliver
49ae79e5ce
Tests: add fill tests for #1109 and #1114 ( #1115 )
...
* Test: for fill issues fixed in PR #1109
* Test: for double sweep collect fixed in PR #1114
2022-10-18 10:20:57 +02:00
Fabian Dill
b533ffb9e8
Locality: rewrite for linear memory consumption, from quadratic ( #1091 )
2022-10-17 03:22:02 +02:00
Jarno
e708bea819
[Sudoku] Added new BK mode game ( #910 )
...
Co-authored-by: Hussein Farran <hmfarran@gmail.com >
Co-authored-by: SoldierofOrder <107806872+SoldierofOrder@users.noreply.github.com >
2022-10-13 07:55:00 +02:00
Doug Hoskisson
c96b6d7b95
Core: some typing and docs in various parts of the interface ( #1060 )
...
* some typing and docs in various parts of the interface
* fix whitespace in docstring
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
* suggested changes from discussion
* remove redundant import
* adjust type for json messages
* for options module detection:
module.lower().endswith("options")
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2022-09-28 23:54:10 +02:00
black-sliver
809bda02d1
Test: item/location name must not be numeric
2022-09-20 18:38:16 +02:00
Alchav
9daa64741b
New, smarter fast_fill function ( #646 )
...
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com >
2022-09-17 02:06:25 +02:00
toasterparty
8aad75ed23
Tests: Check for Holes in the Item Pool ( #992 )
...
* test for holes in the item pool
* Update test/general/TestItems.py
Co-authored-by: alwaysintreble <mmmcheese158@gmail.com >
* Update test/general/TestItems.py
Co-authored-by: alwaysintreble <mmmcheese158@gmail.com >
* Update test/general/TestItems.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
* Update test/general/TestItems.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
Co-authored-by: alwaysintreble <mmmcheese158@gmail.com >
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2022-09-05 10:02:40 +02:00
Fabian Dill
e413619c26
Tests: verify that a world doesn't use the same ID multiple times ( #985 )
2022-09-01 21:25:06 +02:00
alwaysintreble
81cf1508e0
Core: Refactor Autoworld.options to Autoworld.option_definitions ( #906 )
...
* refactor `world.options` -> `world.option_definitions`
* rename world api reference
* missed some self.options
2022-08-15 23:46:59 +02:00
Fabian Dill
21f7c6c0ad
Core: optimize away Item.world ( #840 )
...
* Core: optimize away Item.world
* Update test/general/TestFill.py
* Test: undo unnecessary changes
* lttp: remove two more Item.world writes
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2022-08-05 17:09:21 +02:00
Fabian Dill
6c525e1fe6
Core: move multiple Item properties into a single Flag ( #638 )
2022-06-17 03:23:27 +02:00
Fabian Dill
ff608b72a2
Tests: add test to check for typo'd item name group definitions ( #594 )
...
* Tests: add test to check for typo'd item name group definitions
Factorio: item *name* group was pointing to IDs instead.
Server: prevent crash when using Event-filled item name group
* Server: prevent crash when /hint'ing for an item name group with events
2022-06-01 08:25:40 -07:00
Doug Hoskisson
c085ee47ed
variable-progression-balancing ( #356 )
2022-05-11 09:13:21 +02:00
Fabian Dill
a56340663c
Test: check that all_state can complete game
2022-05-10 19:20:15 -07:00
Fabian Dill
e3900e9f99
Test: fix wrong name
2022-05-10 19:20:15 -07:00
Fabian Dill
e8b1362172
Test: check for working completion condition
2022-05-10 19:20:15 -07:00
Fabian Dill
65864e273b
Fix bugs
2022-04-01 03:54:30 +02:00
jtoyoda
cdc0b7a649
Fixing unit tests for FFR by excluding tests that use Default settings as FFR logic is controlled by the original randomizer
2022-02-21 00:01:27 +01:00
Fabian Dill
daea0f3e5e
Core: provide a way to add to CollectionState init and copy
...
SM: use that way
OoT: use that way
2022-02-17 07:07:34 +01:00
black-sliver
a4eea3325f
Document id range for items and locations
2022-02-12 03:00:09 +01:00
Brad Humphrey
2361f8f9d3
Use logic when placing non-excluded items
2022-02-01 16:35:18 +01:00
Brad Humphrey
814851ba60
Don't require every item to fill
2022-01-31 19:17:06 +01:00
Fabian Dill
6210630ce2
Core: increment version
2022-01-30 03:45:21 +01:00
Fabian Dill
e5af7d11cc
Tests: add ID range checks
2022-01-29 16:10:42 +01:00