§
    ¤Ö©jÂ  ã                   óh   — d Z ddlZddlmc mZ ddlZddlZddl	m
Z
 ddlmZmZmZmZmZ d„ Zd„ ZdS )z²
Tests for tools/character_snapshotter.py
Verifies schema v1 validity, abstract skill roles (Builder vs Finisher),
JSON serialization, and Markdown evolution journal generation.
é    N)ÚPath)Úbuild_character_snapshotÚsave_snapshotÚupdate_evolution_journalÚSNAPSHOTS_DIRÚEVOLUTION_MDc                  ó²  — t          dddddddddd	d
¬¦  «        } | d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}d}|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}d}|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}d}|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}d}|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}d}|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}d}|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}d}|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}d }|| v }|s—t          j        d|fd|| f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}}| d         }|d!         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|d"         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|d#         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|d$         }d%}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|d&         }d'}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}| d         }	|	d(         }d)}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|	d*         }d)}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|	d+         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|	d,         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}| d         }
|
d-         d.         }d/}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d-         d0         }d	}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d1         d.         }d2}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d1         d0         }d
}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d3         d.         }d4}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d5         d.         }d6}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d7         d.         }d8}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d9         d.         }d:}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d;         d.         }d<}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|
d=         d.         }d>}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}d S )?NÚ	TEST_HEROé\   ÚMonkzMartial ArtistzForbidden RitesiP  i,  i„  ÚMonkTempestFlurryÚMonkTempestBell)Úcharacter_nameÚlevelÚ
class_nameÚ
ascendancyÚleagueÚcur_esÚmax_esÚcur_wardÚcur_manaÚcombo_builder_gemÚfinisher_gemÚschema_versionzautopoe2.character_snapshot/v1©ú==©z%(py1)s == %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6Útimestamp_local©Úin©z%(py1)s in %(py3)sÚsnapshot©r   Úpy3úassert %(py5)sÚpy5Útimestamp_utcÚ	characterÚvitalsÚskill_loadoutÚkeystones_and_ascendancyÚequipped_weaponÚevolution_contextÚnamer   ÚclassÚdefense_typezChaos Inoculation (CI)Úlife_invariantzHP 1/1 (Chaos Immune)Úlife_currenté   Úlife_maxÚenergy_shield_currentÚenergy_shield_maxÚslot_QÚroleÚCOMBO_BUILDERÚcurrent_gemÚslot_RÚCOMBO_FINISHERÚslot_RMBÚSUSTAINED_AOE_BUFFÚslot_MMBÚGAP_CLOSER_DEBUFFÚslot_TÚPRE_BUFF_INITIATIONÚslot_LMBÚPRIMARY_CLEARÚ
slot_SPACEÚMOBILITY_IFRAMEÚslot_FÚSKILL_8)	r   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprÚAssertionErrorÚ_format_explanationÚ@py_builtinsÚlocalsÚ_should_repr_global_name)r'   Ú@py_assert0Ú@py_assert3Ú@py_assert2Ú@py_format5Ú@py_format7Ú@py_format4Ú@py_format6Úcharr.   Úskillss              ú8C:\Projects\AutoPOE2\tests\test_character_snapshotter.pyÚ!test_character_snapshot_schema_v1r`      s  € Ý'Ø"ØØØ#Ø ØØØØØ-Ø&ðñ ô €Hð Ð$Ô%ÐIÐ)IÐIÐ%Ð)IÒIÐIÐIÐIÕIÔIÐIÐIÐIÐIÐ%Ð)IÐIÑIÔIÕIÔIÐ%ÑIÔIÕIÔIÐ)IÑIÔIÐIÐIÑIÐIÐIÐIÐIÐIÑIÐIÕIÕIÔIÐIÑIÔIÑIÔIÐIÐIÐIÐIÐIÐIÐIØÐ(Ð Ð(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð Ð(Ñ(Ô(Õ(Ô(ÐÑ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô( Ñ(Ô(Ð(Õ(Ô( Ñ(Ô(Ð(Ð(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(ØÐ&ˆ?˜hÐ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ?˜hÐ&Ñ&Ô&Õ&Ô&ˆ?Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&˜hÑ&Ô&Ð&Õ&Ô&˜hÑ&Ô&Ð&Ð&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&ØÐ"ˆ;˜(Ð"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ;˜(Ð"Ñ"Ô"Õ"Ô"ˆ;Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"˜(Ñ"Ô"Ð"Õ"Ô"˜(Ñ"Ô"Ð"Ð"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"ØÐˆ8�xÐÐÐÐÕÔÐÐÐÐˆ8�xÐÑÔÕÔˆ8ÑÔÐÕÔÑÔÐÐÕÔ�xÑÔÐÕÔ�xÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ&ˆ?˜hÐ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ?˜hÐ&Ñ&Ô&Õ&Ô&ˆ?Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&˜hÑ&Ô&Ð&Õ&Ô&˜hÑ&Ô&Ð&Ð&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ø%Ð1Ð%¨Ð1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð%¨Ð1Ñ1Ô1Õ1Ô1Ð%Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1¨Ñ1Ô1Ð1Õ1Ô1¨Ñ1Ô1Ð1Ð1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1ØÐ(Ð Ð(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð Ð(Ñ(Ô(Õ(Ô(ÐÑ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô( Ñ(Ô(Ð(Õ(Ô( Ñ(Ô(Ð(Ð(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(ØÐ*Ð (Ð*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð (Ð*Ñ*Ô*Õ*Ô*ÐÑ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô* (Ñ*Ô*Ð*Õ*Ô* (Ñ*Ô*Ð*Ð*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*ð �KÔ €DØ�Œ<Ð&˜;Ð&ˆ<˜;Ò&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ<˜;Ð&Ñ&Ô&Õ&Ô&ˆ<Ñ&Ô&Õ&Ô&˜;Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ø�Œ=Ð˜BÐˆ=˜BÒÐÐÐÕÔÐÐÐÐˆ=˜BÐÑÔÕÔˆ=ÑÔÕÔ˜BÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØ�Œ=Ð"˜FÐ"ˆ=˜FÒ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ=˜FÐ"Ñ"Ô"Õ"Ô"ˆ=Ñ"Ô"Õ"Ô"˜FÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ø�ÔÐ;Ð#;Ð;ÐÐ#;Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;ÐÐ#;Ð;Ñ;Ô;Õ;Ô;ÐÑ;Ô;Õ;Ô;Ð#;Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ØÐ Ô!Ð<Ð%<Ð<Ð!Ð%<Ò<Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<Ð!Ð%<Ð<Ñ<Ô<Õ<Ô<Ð!Ñ<Ô<Õ<Ô<Ð%<Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<ð �hÔ€FØ�.Ô!Ð& QÐ&Ð! QÒ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð! QÐ&Ñ&Ô&Õ&Ô&Ð!Ñ&Ô&Õ&Ô& QÑ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ø�*ÔÐ" Ð"Ð Ò"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"Ð Ð"Ñ"Ô"Õ"Ô"ÐÑ"Ô"Õ"Ô" Ñ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØÐ)Ô*Ð2¨dÐ2Ð*¨dÒ2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð*¨dÐ2Ñ2Ô2Õ2Ô2Ð*Ñ2Ô2Õ2Ô2¨dÑ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ØÐ%Ô&Ð.¨$Ð.Ð&¨$Ò.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð&¨$Ð.Ñ.Ô.Õ.Ô.Ð&Ñ.Ô.Õ.Ô.¨$Ñ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ð �oÔ&€FØ�(Ô˜FÔ#Ð6 Ð6Ð# Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6Ð# Ð6Ñ6Ô6Õ6Ô6Ð#Ñ6Ô6Õ6Ô6 Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø�(Ô˜MÔ*ÐAÐ.AÐAÐ*Ð.AÒAÐAÐAÐAÕAÔAÐAÐAÐAÐAÐ*Ð.AÐAÑAÔAÕAÔAÐ*ÑAÔAÕAÔAÐ.AÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAØ�(Ô˜FÔ#Ð7Ð'7Ð7Ð#Ð'7Ò7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð#Ð'7Ð7Ñ7Ô7Õ7Ô7Ð#Ñ7Ô7Õ7Ô7Ð'7Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø�(Ô˜MÔ*Ð?Ð.?Ð?Ð*Ð.?Ò?Ð?Ð?Ð?Õ?Ô?Ð?Ð?Ð?Ð?Ð*Ð.?Ð?Ñ?Ô?Õ?Ô?Ð*Ñ?Ô?Õ?Ô?Ð.?Ñ?Ô?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ø�*Ô˜fÔ%Ð=Ð)=Ð=Ð%Ð)=Ò=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð%Ð)=Ð=Ñ=Ô=Õ=Ô=Ð%Ñ=Ô=Õ=Ô=Ð)=Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø�*Ô˜fÔ%Ð<Ð)<Ð<Ð%Ð)<Ò<Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<Ð%Ð)<Ð<Ñ<Ô<Õ<Ô<Ð%Ñ<Ô<Õ<Ô<Ð)<Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ø�(Ô˜FÔ#Ð<Ð'<Ð<Ð#Ð'<Ò<Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<Ð#Ð'<Ð<Ñ<Ô<Õ<Ô<Ð#Ñ<Ô<Õ<Ô<Ð'<Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ø�*Ô˜fÔ%Ð8¨Ð8Ð%¨Ò8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8Ð%¨Ð8Ñ8Ô8Õ8Ô8Ð%Ñ8Ô8Õ8Ô8¨Ñ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø�,Ô Ô'Ð<Ð+<Ð<Ð'Ð+<Ò<Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<Ð'Ð+<Ð<Ñ<Ô<Õ<Ô<Ð'Ñ<Ô<Õ<Ô<Ð+<Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ø�(Ô˜FÔ#Ð0 yÐ0Ð# yÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð# yÐ0Ñ0Ô0Õ0Ô0Ð#Ñ0Ô0Õ0Ô0 yÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ó    c                 ó�  — | dz  }| dz  }dd l m} |                     |d|¦  «         |                     |d|¦  «         t          dddd	¬
¦  «        }|                     |¦  «        }|j        } |¦   «         }|s‹ddt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}}|j        }d}
||
k    }|sªt          j        d|fd||
f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |
¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}
t          |dd¬¦  «        5 }t!          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }	dd|	iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }	dd|	iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                     |¦  «         |j        } |¦   «         }|s‹dd t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd t          j
        |¦  «        t          j
        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d x}}t          |dd¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   d!}||v }|s—t          j        d"|fd#||f¦  «        t          j
        |¦  «        d$t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd$d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d"|fd#||f¦  «        t          j
        |¦  «        d$t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd$d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d(}||v }|s—t          j        d"|fd#||f¦  «        t          j
        |¦  «        d$t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd$d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d"|fd#||f¦  «        t          j
        |¦  «        d$t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd$d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d	}||v }|s—t          j        d"|fd#||f¦  «        t          j
        |¦  «        d$t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd$d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d S ))NÚ	snapshotszCHARACTER_EVOLUTION.mdr   r   r   ÚBEONGUSIéZ   r   r   )r   r   r   r   zAassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}Ú
saved_file)Úpy0Úpy2r    z.jsonr   )z.%(py2)s
{%(py2)s = %(py0)s.suffix
} == %(py5)s)rg   rh   r+   zassert %(py7)sÚpy7Úrzutf-8)Úencodingr-   r3   r   r   r!   r"   r/   r<   r?   Útest_evolution_mdu0   NHáº¬T KÃ� TIáº¾N HÃ“A & NÃ‚NG Cáº¤P NHÃ‚N Váº¬Tr$   r&   Úmd_textr(   r*   r+   r>   )Útools.character_snapshotterÚcharacter_snapshotterÚsetattrr   r   ÚexistsrS   rT   rN   rU   rP   rQ   rR   ÚsuffixrO   ÚopenÚjsonÚloadr   Úread)Útmp_pathÚmonkeypatchÚtest_snapshots_dirrl   Úcsr'   rf   Ú@py_assert1rW   rY   Ú@py_assert4r\   Ú@py_format8ÚfÚloadedrV   rX   rZ   rm   r[   s                       r_   Ú(test_save_snapshot_and_evolution_journalr€   L   s	  € Ø! KÑ/ÐØ Ð#;Ñ;Ðà,Ð,Ð,Ð,Ð,Ð,Ø×Ò˜˜OÐ-?Ñ@Ô@Ð@Ø×Ò˜˜NÐ,=Ñ>Ô>Ð>å'Ø!ØØ-Ø&ð	ñ ô €Hð ×!Ò! (Ñ+Ô+€JØÔÐÐÐÑÔÐÐÐÐÐÕÔÑÔÐÐÕÔˆ:ÑÔÐÕÔˆ:ÑÔÐÐÕÔÐÑÔÕÔÐÑÔÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÔÐ' Ð'Ð Ò'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆ:Ñ'Ô'Ð'Õ'Ô'ˆ:Ñ'Ô'Ð'Ð'Õ'Ô'ÐÑ'Ô'Õ'Ô' Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'å	ˆj˜#¨Ð	0Ñ	0Ô	0ð °AÝ”˜1‘”ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�+Ô˜vÔ&Ð4¨*Ð4Ð&¨*Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð&¨*Ð4Ñ4Ô4Õ4Ô4Ð&Ñ4Ô4Õ4Ô4¨*Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ø�/Ô" 8Ô,¨]Ô;ÐRÐ?RÐRÐ;Ð?RÒRÐRÐRÐRÕRÔRÐRÐRÐRÐRÐ;Ð?RÐRÑRÔRÕRÔRÐ;ÑRÔRÕRÔRÐ?RÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÕRÕRÔRÐRÑRÔRÑRÔRÐRÐRÐRÐRÐRÐRÐRð ×Ò Ñ)Ô)Ð)ØÔ#Ð%Ð#Ð#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%ÐÑ%Ô%Ð%Õ%Ô%ÐÑ%Ô%Ð%Ð%Õ%Ô%Ð#Ñ%Ô%Õ%Ô%Ð%Ñ%Ô%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%å	Ð ¨wÐ	7Ñ	7Ô	7ð ¸1Ø—&’&‘(”(ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð >ÐHÐ=ÀÐHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ=ÀÐHÑHÔHÕHÔHÐ=ÑHÔHÐHÕHÔHÑHÔHÐHÐHÕHÔHÀÑHÔHÐHÕHÔHÀÑHÔHÐHÐHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHØÐ ˆ:˜Ð Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ:˜Ð Ñ Ô Õ Ô ˆ:Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˜Ñ Ô Ð Õ Ô ˜Ñ Ô Ð Ð Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð ØÐ%ˆ?˜gÐ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%ˆ?˜gÐ%Ñ%Ô%Õ%Ô%ˆ?Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%˜gÑ%Ô%Ð%Õ%Ô%˜gÑ%Ô%Ð%Ð%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%ØÐ)Ð 'Ð)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð 'Ð)Ñ)Ô)Õ)Ô)ÐÑ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô) 'Ñ)Ô)Ð)Õ)Ô) 'Ñ)Ô)Ð)Ð)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)ØÐ'Ð Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð Ð'Ñ'Ô'Õ'Ô'ÐÑ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô' Ñ'Ô'Ð'Õ'Ô' Ñ'Ô'Ð'Ð'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð's$   ÇG=Ç=HÈHÏ+PÐPÐP)Ú__doc__ÚbuiltinsrS   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterN   rt   ÚpytestÚpathlibr   rn   r   r   r   r   r   r`   r€   © ra   r_   ú<module>r‰      s¾   ððð ð € € € € € € € € € € € € €€€€Ø €€€Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð41ð 41ð 41ðn$(ð $(ð $(ð $(ð $(ra   