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.
24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
import json
|
|
import unittest
|
|
from tools import test_value_provider_parity as providers
|
|
|
|
|
|
class ValueProviderCorpusTests(unittest.TestCase):
|
|
def test_distribution_branches_overflow_and_random_modes(self):
|
|
definitions = list(providers.definitions())
|
|
self.assertEqual(definitions, list(providers.definitions()))
|
|
objects = [json.loads(raw) for _, raw in definitions if raw.startswith('{')]
|
|
kinds = {v.get('type') for v in objects if isinstance(v.get('type'), str)}
|
|
self.assertTrue({'weighted_list', 'constant', 'uniform', 'trapezoid', 'clamped', 'biased_to_bottom', 'very_biased_to_bottom'} <= kinds)
|
|
self.assertTrue(any('"value":-0.0' in raw for _, raw in definitions))
|
|
self.assertTrue(any('4294967296' in raw for _, raw in definitions))
|
|
self.assertTrue(any(v.get('plateau') == -2**31 for v in objects))
|
|
fixtures = list(providers.corpus())
|
|
self.assertEqual(len(fixtures), len(definitions) * 10)
|
|
self.assertEqual({f['legacy'] for f in fixtures}, {False, True})
|
|
self.assertEqual({f['samples'] for f in fixtures}, {64})
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|