2 -- Minimal Development Test
6 -- Try out PseudoRandom
7 pseudo = PseudoRandom(13)
8 assert(pseudo:next() == 22290)
9 assert(pseudo:next() == 13854)
16 local function run_hpchangereason_tests(player)
17 expect = { type = "set_hp", from = "mod" }
21 expect = { a = 234, type = "set_hp", from = "mod" }
22 player:set_hp(10, { a= 234 })
25 expect = { df = 3458973454, type = "fall", from = "mod" }
26 player:set_hp(10, { type = "fall", df = 3458973454 })
29 minetest.register_on_player_hpchange(function(player, hp, reason)
30 for key, value in pairs(reason) do
31 assert(expect[key] == value)
34 for key, value in pairs(expect) do
35 assert(reason[key] == value)
43 local function run_player_meta_tests(player)
44 local meta = player:get_meta()
45 meta:set_string("foo", "bar")
46 assert(meta:get_string("foo") == "bar")
48 local meta2 = player:get_meta()
49 assert(meta2:get_string("foo") == "bar")
50 assert(meta:equals(meta2))
51 assert(player:get_attribute("foo") == "bar")
53 meta:set_string("bob", "dillan")
54 assert(meta:get_string("foo") == "bar")
55 assert(meta:get_string("bob") == "dillan")
56 assert(meta2:get_string("foo") == "bar")
57 assert(meta2:get_string("bob") == "dillan")
58 assert(meta:equals(meta2))
59 assert(player:get_attribute("foo") == "bar")
60 assert(player:get_attribute("bob") == "dillan")
63 local function run_player_tests(player)
64 run_hpchangereason_tests(player)
65 run_player_meta_tests(player)
66 minetest.chat_send_all("All tests pass!")
68 minetest.register_on_joinplayer(run_player_tests)