mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00

This is a major update for Stardew Valley, for version 3.x.x. Changes include a large number of new features, including Seasons Randomizer, SeedShuffle, Museumsanity, Friendsanity, Complete Collection Goal, Full House Goal, friendship multiplier Co-authored-by: Jouramie <jouramie@hotmail.com>
66 lines
2.2 KiB
Python
66 lines
2.2 KiB
Python
from .. import True_
|
|
from ..logic import Received, Has, False_, And, Or, StardewLogic
|
|
from ..options import default_options, StardewOptions
|
|
|
|
|
|
def test_simplify_true_in_and():
|
|
rules = {
|
|
"Wood": True_(),
|
|
"Rock": True_(),
|
|
}
|
|
summer = Received("Summer", 0, 1)
|
|
assert (Has("Wood", rules) & summer & Has("Rock", rules)).simplify() == summer
|
|
|
|
|
|
def test_simplify_false_in_or():
|
|
rules = {
|
|
"Wood": False_(),
|
|
"Rock": False_(),
|
|
}
|
|
summer = Received("Summer", 0, 1)
|
|
assert (Has("Wood", rules) | summer | Has("Rock", rules)).simplify() == summer
|
|
|
|
|
|
def test_simplify_and_in_and():
|
|
rule = And(And(Received('Summer', 0, 1), Received('Fall', 0, 1)),
|
|
And(Received('Winter', 0, 1), Received('Spring', 0, 1)))
|
|
assert rule.simplify() == And(Received('Summer', 0, 1), Received('Fall', 0, 1), Received('Winter', 0, 1),
|
|
Received('Spring', 0, 1))
|
|
|
|
|
|
def test_simplify_duplicated_and():
|
|
rule = And(And(Received('Summer', 0, 1), Received('Fall', 0, 1)),
|
|
And(Received('Summer', 0, 1), Received('Fall', 0, 1)))
|
|
assert rule.simplify() == And(Received('Summer', 0, 1), Received('Fall', 0, 1))
|
|
|
|
|
|
def test_simplify_or_in_or():
|
|
rule = Or(Or(Received('Summer', 0, 1), Received('Fall', 0, 1)),
|
|
Or(Received('Winter', 0, 1), Received('Spring', 0, 1)))
|
|
assert rule.simplify() == Or(Received('Summer', 0, 1), Received('Fall', 0, 1), Received('Winter', 0, 1),
|
|
Received('Spring', 0, 1))
|
|
|
|
|
|
def test_simplify_duplicated_or():
|
|
rule = And(Or(Received('Summer', 0, 1), Received('Fall', 0, 1)),
|
|
Or(Received('Summer', 0, 1), Received('Fall', 0, 1)))
|
|
assert rule.simplify() == Or(Received('Summer', 0, 1), Received('Fall', 0, 1))
|
|
|
|
|
|
def test_simplify_true_in_or():
|
|
rule = Or(True_(), Received('Summer', 0, 1))
|
|
assert rule.simplify() == True_()
|
|
|
|
|
|
def test_simplify_false_in_and():
|
|
rule = And(False_(), Received('Summer', 0, 1))
|
|
assert rule.simplify() == False_()
|
|
|
|
|
|
def test_simplify_coffee():
|
|
logic = StardewLogic(1, StardewOptions(default_options))
|
|
|
|
simplified_coffee = logic.has("Coffee").simplify()
|
|
|
|
assert simplified_coffee == True_()
|