- from memory import *
- from memory_Context import *
-
- def memory_test_generateConstPlayfield(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
- if (
- c.recentField == "playfieldItems" and
- len(c.playfieldItems) == 4 and
- c.playfieldItems[0] == 0 and
- c.playfieldItems[1] == 0 and
- c.playfieldItems[2] == 1 and
- c.playfieldItems[3] == 1
- ):
- return "OK: memory_generateConstPlayfield"
- #}
- return "ERR: memory_generateConstPlayfield"
- #}
-
- def memory_test_selectItem_1x(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
-
- # Select the first item.
- c.selectedId = 0
- c = memory_selectItem(c)
-
- # See if it's in selectedItems now.
- if (
- c.recentField == "selectedItems" and
- len(c.selectedItems) == 1 and
- c.selectedItems[0] == 0
- ):
- return "OK: memory_selectItem_1x"
- #}
- return "ERR: memory_selectItem_1x"
- #}
-
- def memory_test_selectItem_2x(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
-
- # Select the first two items.
- c.selectedId = 0
- c = memory_selectItem(c)
- c.selectedId = 1
- c = memory_selectItem(c)
-
- # See if both items are selected now.
- if (
- c.recentField == "selectedItems" and
- len(c.selectedItems) == 2 and
- c.selectedItems[0] == 0 and
- c.selectedItems[1] == 1
- ):
- return "OK: memory_selectItem_2x"
- #}
- return "ERR: memory_selectItem_2x"
- #}
-
- def memory_test_selectItem_3x(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
-
- # Select three items.
- c.selectedId = 0
- c = memory_selectItem(c)
- c.selectedId = 1
- c = memory_selectItem(c)
- c.selectedId = 2
- c = memory_selectItem(c)
-
- # See if only one (last) item is selected now.
- if (
- c.recentField == "selectedItems" and
- len(c.selectedItems) == 1 and
- c.selectedItems[0] == 2
- ):
- return "OK: memory_selectItem_3x"
- #}
- return "ERR: memory_selectItem_3x"
- #}
-
- def memory_test_shouldDeselectMismatchedItems(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
-
- # Select two items of different groups.
- c.selectedId = 0
- c = memory_selectItem(c)
- c.selectedId = 2
- c = memory_selectItem(c)
-
- # Detect mismatching.
- c = memory_shouldDeselectMismatchedItems(c)
-
- # See if the two selected items do not match.
- if (
- c.recentField == "mismatchedItems" and
- len(c.mismatchedItems) == 2 and
- c.mismatchedItems[0] == 0 and
- c.mismatchedItems[1] == 2
- ):
- return "OK: memory_shouldDeselectMismatchedItems"
- #}
- return "ERR: memory_shouldDeselectMismatchedItems"
- #}
-
- def memory_test_shouldDeselectMismatchedItems_itemTwice(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
-
- # Select the same item twice.
- c.selectedId = 0
- c = memory_selectItem(c)
- c.selectedId = 0
- c = memory_selectItem(c)
-
- # Detect mismatching.
- c = memory_shouldDeselectMismatchedItems(c)
-
- # See if the two selected items do not match.
- if (
- c.recentField == "mismatchedItems" and
- len(c.mismatchedItems) == 1 and
- c.mismatchedItems[0] == 0
- ):
- return "OK: memory_shouldDeselectMismatchedItems_itemTwice"
- #}
- return "ERR: memory_shouldDeselectMismatchedItems_itemTwice"
- #}
-
- def memory_test_shouldDetectVictory(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
-
- # Select the first two items of the same group.
- c.selectedId = 0
- c = memory_selectItem(c)
- c.selectedId = 1
- c = memory_selectItem(c)
-
- # Hide the first pair.
- c = memory_shouldHideMatchingItems(c)
-
- # Select the last two items of the same group.
- c.selectedId = 2
- c = memory_selectItem(c)
- c.selectedId = 3
- c = memory_selectItem(c)
-
- # Hide the second pair.
- c = memory_shouldHideMatchingItems(c)
-
- # Detect victory.
- c = memory_shouldDetectVictory(c)
-
- # See if victory has been detected.
- if (
- c.recentField == "victory" and
- c.victory == True
- ):
- return "OK: memory_shouldDetectVictory"
- #}
- return "ERR: memory_shouldDetectVictory"
- #}
-
- def memory_test_shouldHideMatchingItems(
- ) -> str:
- c = memory_createContext()
- c.playfieldSize = 2
- c = memory_generateConstPlayfield(c)
-
- # Select two items of the same group.
- c.selectedId = 0
- c = memory_selectItem(c)
- c.selectedId = 1
- c = memory_selectItem(c)
-
- # Hide matching items.
- c = memory_shouldHideMatchingItems(c)
-
- # See if the two selected items match.
- if (
- c.recentField == "hiddenItems" and
- len(c.hiddenItems) == 2 and
- c.hiddenItems[0] == 0 and
- c.hiddenItems[1] == 1
- ):
- return "OK: memory_shouldHideMatchingItems"
- #}
- return "ERR: memory_shouldHideMatchingItems"
- #}
|