cb19660fbe
Add version-bound core, world data, geometry, generation and feature implementations with native client/server comparison tools and scoped evidence reports. Apply Horizon project branding. Workspace tests, Clippy and 147 Python tests passed. Full 51-family survival and expanded provider comparisons are still running; complete gameplay parity and a playable Rust client remain unfinished. Private game artifacts and the isolated simple-block placement work are excluded.
23 lines
952 B
Python
23 lines
952 B
Python
import itertools
|
|
import json
|
|
import unittest
|
|
from tools import test_anchor_parity as anchor
|
|
|
|
|
|
class AnchorCorpusTests(unittest.TestCase):
|
|
def test_exclusive_alternatives_and_unrestricted_runtime_bounds(self):
|
|
fixtures=list(anchor.corpus())
|
|
self.assertEqual(fixtures,list(anchor.corpus()))
|
|
self.assertEqual(len(fixtures),192)
|
|
self.assertEqual(sum('generator' in f for f in fixtures),96)
|
|
self.assertIn(-2**31,fixtures[0]['values'])
|
|
self.assertIn(2**31-1,fixtures[0]['values'])
|
|
decoded=[json.loads(s) for s in fixtures[0]['json']]
|
|
names=['absolute','above_bottom','below_top','relative_to_sea_level']
|
|
for combination in itertools.product([None,0,2032,'bad'],repeat=4):
|
|
self.assertIn({k:v for k,v in zip(names,combination) if v is not None},decoded)
|
|
self.assertIn('{"absolute":1,"absolute":null}',fixtures[0]['json'])
|
|
|
|
|
|
if __name__=='__main__':unittest.main()
|