summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/test/rune-gen.lua
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/test/rune-gen.lua')
-rw-r--r--crawl-ref/source/test/rune-gen.lua31
1 files changed, 31 insertions, 0 deletions
diff --git a/crawl-ref/source/test/rune-gen.lua b/crawl-ref/source/test/rune-gen.lua
new file mode 100644
index 0000000000..ef81d22b4e
--- /dev/null
+++ b/crawl-ref/source/test/rune-gen.lua
@@ -0,0 +1,31 @@
+local niters = 100
+
+local function test_item_level(place, item, nlevels)
+ debug.goto_place(place)
+ for i = 1, nlevels do
+ crawl.mesclr()
+ crawl.mpr(place .. " rune test " .. i .. " of " .. nlevels)
+ test.regenerate_level()
+ test.map_assert(test.level_contains_item(item),
+ "No " .. item .. " created at " .. place)
+ end
+end
+
+local function test_item_places(nlevels, level_items)
+ for _, place in ipairs(level_items) do
+ test_item_level(place[1], place[2], nlevels)
+ end
+end
+
+test_item_places(niters,
+ { { "Snake:$", "serpentine rune" },
+ { "Shoal:$", "barnacled rune" },
+ { "Swamp:$", "decaying rune" },
+ { "Slime:$", "slimy rune" },
+ { "Vault:$", "silver rune" },
+ { "Coc:$", "icy rune" },
+ { "Tar:$", "bone rune" },
+ { "Dis:$", "iron rune" },
+ { "Geh:$", "obsidian rune" },
+ { "Tomb:$", "golden rune" },
+ { "Zot:$", "Orb of Zot" } })