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

42 lines
2.5 KiB
Python

import json
import unittest
from tools import test_biome_generation_parity as generation
class BiomeGenerationCorpusTests(unittest.TestCase):
def test_router_preset_seed_and_clipped_generation_coverage(self):
bundle = {'settings': {'minecraft:overworld': json.dumps({'noise': {'min_y': -64, 'height': 384}})},
'presets': {'minecraft:overworld': '[]', 'minecraft:nether': '[]'}}
all_fixtures = list(generation.corpus(bundle))
self.assertEqual({f.get('source', 'multi') for f in all_fixtures}, {'multi', 'fixed', 'checkerboard', 'end'})
fixtures = [f for f in all_fixtures if 'source' not in f and not f.get('retrogen')]
self.assertEqual(all_fixtures, list(generation.corpus(bundle)))
self.assertEqual(len(fixtures), 12)
self.assertEqual(sum(f['repeats'] for f in fixtures), 16)
self.assertEqual({f['preset'] for f in fixtures}, set(bundle['presets']))
self.assertEqual({f['legacy'] for f in fixtures}, {False, True})
self.assertTrue(any(f['write_min'] > f['min'] for f in fixtures))
self.assertTrue(any(abs(f['cx']) > 1_000_000 for f in fixtures))
for f in fixtures:
self.assertEqual(len(f['queries']), 180)
self.assertTrue(any(q[1] < f['min'] for q in f['queries']))
self.assertTrue(any(q[1] >= f['min'] + f['height'] for q in f['queries']))
def test_upgrade_height_all_sources_and_retained_cave_candidates(self):
bundle = {'settings': {
'minecraft:overworld': json.dumps({'noise': {'min_y': -64, 'height': 384}}),
'minecraft:end': json.dumps({'noise': {'min_y': 0, 'height': 128}})},
'presets': {'minecraft:overworld': '[]', 'minecraft:nether': '[]'}}
fixtures = [f for f in generation.corpus(bundle) if f.get('retrogen')]
self.assertEqual(len(fixtures), 36)
self.assertEqual({f['setting'] for f in fixtures}, {'minecraft:overworld'})
self.assertEqual({f.get('source', 'multi') for f in fixtures}, {'multi', 'fixed', 'checkerboard', 'end'})
self.assertEqual({f['fixed_biome'] for f in fixtures if 'fixed_biome' in f},
{'minecraft:lush_caves', 'minecraft:dripstone_caves', 'minecraft:deep_dark'})
self.assertTrue(all((f['write_min'], f['write_max'], f['repeats']) == (-64, -1, 2) for f in fixtures))
self.assertTrue(all(any(q[1] == 0 for q in f['queries']) for f in fixtures))
if __name__ == '__main__':
unittest.main()