def it_allows_that_there_are_duplicate_plus_ids_for_same_piece_type( self ): sokoban_plus = SokobanPlusFactory( goalorder="1 1 2 2 3 3", boxorder="2 2 3 3 1 1", pieces_count=10 ) sokoban_plus._parse() assert sokoban_plus.is_valid
def it_doesnt_convert_legacy_plus_ids_if_piece_count_is_greater_than_legacy_plus_id( self, sokoban_plus ): sokoban_plus = SokobanPlusFactory( pieces_count=SokobanPlus._LEGACY_DEFAULT_PLUS_ID, boxorder="1 5 42 {0} 23". format(SokobanPlus._LEGACY_DEFAULT_PLUS_ID), goalorder="1 5 42 {0} 23". format(SokobanPlus._LEGACY_DEFAULT_PLUS_ID) ) sokoban_plus.is_enabled = True assert sokoban_plus.boxorder == "1 5 42 {0} 23".format( SokobanPlus._LEGACY_DEFAULT_PLUS_ID ) assert sokoban_plus.goalorder == "1 5 42 {0} 23".format( SokobanPlus._LEGACY_DEFAULT_PLUS_ID )
def it_converts_legacy_plus_ids_silently_if_piece_count_is_smaller_than_legacy_plus_id( self ): sokoban_plus = SokobanPlusFactory( pieces_count=10, boxorder="1 5 42 {0} 23". format(SokobanPlus._LEGACY_DEFAULT_PLUS_ID), goalorder="1 5 42 {0} 23". format(SokobanPlus._LEGACY_DEFAULT_PLUS_ID) ) sokoban_plus.is_enabled = True assert sokoban_plus.boxorder == "1 5 42 {0} 23".format( SokobanPlus.DEFAULT_PLUS_ID ) assert sokoban_plus.goalorder == "1 5 42 {0} 23".format( SokobanPlus.DEFAULT_PLUS_ID )
def it_validates_there_are_not_to_many_ids(self): sokoban_plus = SokobanPlusFactory( goalorder="1 2 3 4 5 6", boxorder="5 4 3 2 1", pieces_count=5 ) sokoban_plus._parse() assert not sokoban_plus.is_valid