#!/usr/bin/env python3 """Compare blue-ice sea-level gating, seeding and growth attempts.""" import itertools import json try: from . import test_simple_block_parity as harness except ImportError: import test_simple_block_parity as harness def corpus(facts, placement): states=facts['states'];get=lambda name:facts['defaults']['minecraft:'+name] directions=[(0,-1,0),(0,1,0),(0,0,-1),(0,0,1),(-1,0,0),(1,0,0)] def case(**extra): origin=extra.pop('origin',[0,60,0]);wrap=lambda n:(n+2**31)%2**32-2**31 value={'definition':'{"type":"blue_ice"}','mode':'feature','origin':origin,'legacy':False,'seed':0,'world_seed':1, 'fail':-1,'reject':0,'brightness':15,'sea':63,'fallback':get('air'), 'states':[[*origin,get('water')],[origin[0],wrap(origin[1]+1),origin[2],get('packed_ice')]],'repeats':1} value.update(extra);return value for state in range(len(states)): yield case(states=[[0,60,0,state],[0,59,0,get('water')],[0,61,0,get('packed_ice')]],fail=24) yield case(fallback=state,fail=24) for mask,legacy,seed,fail,reject in itertools.product(range(64),[False,True],[0,-1,0x123456789abcdef],[-1,0,1,3,6,9,21],[0,1,3]): initial=[[0,60,0,get('water')],*[[x,60+y,z,get('packed_ice') if mask&(1<