Îõ³h$ ù ?%      !"#$ Safe-Inferred?Ù armorÁData structure that holds all the values needed for a golden testarmorConfig data for armor tests. armor7Directory where all the test serializations are stored. armorÉHow many versions back to test for backwards compatibility. A value of Just 0> means that it only tests that the current version satisfies parse . render == id. Just 1Ë means that it will verify that the previous version can still be parse. Just 2Ò the previous two versions, etc. Nothing means that all versions will be tested. armor+The mode of operation for armor test cases. armorŠWrite test files for serializations that don't have them, but don't do any tests to verify that existing files are deserialized properly.armoræRun tests to verify that existing files are deserialized properly, but don't write any missing files.armor!Do both the save and test phases.armoròCore type class for armoring types. Includes a version and all the type's serializations that you want to armor.armor)Current version number for the data type.armorïMap of serializations keyed by a unique ID used to refer to each serialization. A serialization is a tuple of (a -> ByteString) and (ByteString -> Maybe a). Represented here as a prism.armorÆVersion numbers are simple monotonically increasing positive integers.armorDefault value for ArmorConfig.armor¨Tests the serialization backwards compatibility of a data type by storing serialized representations in .test files to be checked into your project's version control.*First, this function checks the directory   for the existence of a file  foo-000.testö. If it doesn't exist, it creates it for each serialization with the serialized representation of the val parameter.ÀNext, it checks that the serialized formats in the most recent   of the stored .testÁ files are parsable by the current version of the serialization.armorSame as Ã, but more convenient for testing several values of the same type.armorÐLower level assertion function that works for a wider array of test frameworks.armorøConstructs the FilePath where the serialization will be stored (relative to the base directory defined in ArmorConfig).ŒThis function uses typeOf as a part of the directory hierarchy to disambiguate tests for different data types. typeOf can contain single quotes, spaces, and parenthesis in the case of type constructors that have type variables so we only take the first alphanumeric characters so that the paths will be meaningful to humans and then add four characters of the type's hash for disambiguation.armorÍCustomizable location where the serializations will be stored. We recommend % as a standard out-of-the-box scheme.   %      !"#$ armor-0.2-6ZULgm7bj2BLQY4VA7LrthArmor GoldenTest gtTestVal gtValNamegtSerializationNamegtPrism gtVersion ArmorConfig acArmorMode acStoreDir acNumVersions ArmorModeSaveOnlyTestOnly SaveAndTestArmoredversionserializationsVersion unVersiondefArmorConfig testArmor testArmorManytestSerializationgoldenFilePath $fEqArmorMode$fOrdArmorMode$fShowArmorMode$fReadArmorMode$fEnumArmorMode$fBoundedArmorMode $fEqVersion $fOrdVersion $fShowVersion $fReadVersion