Files
RustNotMC/tests/test_heightmap_parity.py
T
SashegDev 874b6f20c2 Клиент: начальный импорт кодовой базы
Основа — Horizon (MIT). История апстрима не переносится: этот репозиторий ведёт свою.
2026-10-29 22:04:28 +03:00

40 lines
1.9 KiB
Python

import unittest
from tools import test_heightmap_parity as heightmap
class HeightmapCorpusTests(unittest.TestCase):
def facts(self):
names=["air","cave_air","void_air","stone","water","lava","oak_leaves","oak_slab","seagrass","snow","powder_snow","glass","barrier"]
return {"states":[["minecraft:"+name,name.endswith("air"),name in ["water","lava"],name] for name in names],
"defaults":{"minecraft:"+name:i for i,name in enumerate(names)}}
def test_every_state_is_inserted_queried_and_removed(self):
facts=self.facts();fixtures=list(heightmap.corpus(facts))
self.assertEqual(fixtures,list(heightmap.corpus(facts)))
ops=fixtures[0]["ops"]
for i in range(len(facts["states"])):
self.assertEqual(ops[i*3],["set",4,5,7,i,63])
self.assertEqual(ops[i*3+1],["query",4,7])
self.assertEqual(ops[i*3+2],["set",4,5,7,facts["defaults"]["minecraft:air"],63])
def test_corpus_keeps_vertical_edges_raw_fallbacks_and_traces(self):
fixtures=list(heightmap.corpus(self.facts()))
self.assertIn((-2032,4064),{(f["min"],f["height"]) for f in fixtures})
for f in fixtures:
self.assertEqual(f["min"]%16,0)
self.assertEqual(f["height"]%16,0)
self.assertGreaterEqual(f["min"],-2032)
self.assertLessEqual(f["min"]+f["height"],2032)
for op in f["ops"]:
if op[0]=="set":self.assertTrue(f["min"]<=op[2]<f["min"]+f["height"])
ops=[op for f in fixtures for op in f["ops"]]
self.assertTrue(any(op[0]=="raw" and not op[2] for op in ops))
self.assertTrue(any(op[0]=="raw" and "ffffffffffffffff" in op[2] for op in ops))
self.assertIn(["prime",0],ops)
self.assertIn(["query",-1,1],ops)
self.assertIn(["query",0,16],ops)
self.assertTrue(any(f["trace"] for f in fixtures))
if __name__=="__main__":unittest.main()