... This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. ... If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. (.require [library [lux (.except) [abstract [monad (.only do)]] [data ["[0]" text] [collection ["[0]" list] ["[0]" set]]] [math ["[0]" random (.only Random)] [number ["n" nat]]] [meta [macro ["[0]" template]]] [test ["_" property (.only Test)]]]] [\\library ["[0]" /]]) (with_expansions [ (these [%->d [/.compressed_7z_archive /.archive /.advanced_audio_coding /.agda_source_code /.android_application_package /.assembler_source_code /.binary /.bzip2_archive /.blender_project /.c_source_code /.c++_source_code /.java_class /.dos_program /.c#_source_code /.css /.comma_separated_values /.d_source_code /.dart_source_code]] [e->j [/.emacs_lisp_source_code /.compiled_emacs_lisp_code /.executable_and_linkable_file /.electronic_publication /.erlang_source_code /.executable_program /.apophysis_fractal /.gps_exchange_format /.gzip_compressed_data /.http_archive_format /.c_header /.html /.optical_disc_file_system /.java_archive /.java_source_code /.javascript_source_code /.javascript_object_notation]] [l->p [/.llvm_assembly /.lua_source_code /.lzip_archive /.markdown /.musical_instrument_digital_interface /.object_code /.vorbis_audio /.portable_document_format /.php_source_code /.maven_build_configuration /.postscript_source_code /.python_source_code]] [r->z [/.ruby_source_code /.scheme_source_code /.unix_shell_script /.structured_query_language /.scalable_vector_graphics /.tape_archive /.temporary_file /.tab_separated_values /.yaml /.zip_archive]])] (def all_options (list.together (`` (list (,, (with_template [ ] [((is (-> Any (List /.Extension)) (function (_ _) (`` (list (,, (template.spliced )))))) 123)] )))))) (def unique_options (set.of_list text.hash ..all_options)) (def verdict (n.= (list.size ..all_options) (set.size ..unique_options))) (with_template [ ] [(def Test (_.coverage ..verdict))] ) (def .public test Test (<| (_.covering /._) (do [! random.monad] []) (_.for [/.Extension]) (`` (all _.and (,, (with_template [ ] [] )) (,, (with_template [ ] [(with_expansions [' (template.spliced )] (`` (_.coverage [(,, (with_template [] [] '))] (and (,, (with_template [] [(same? )] '))))))] [/.c_source_code [[/.c]]] [/.c++_source_code [[/.c++]]] [/.comma_separated_values [[/.csv]]] [/.emacs_lisp_source_code [[/.emacs_lisp]]] [/.erlang_source_code [[/.erlang]]] [/.java_archive [[/.jar]]] [/.java_source_code [[/.java]]] [/.javascript_source_code [[/.javascript] [/.js]]] [/.javascript_object_notation [[/.json]]] [/.lua_source_code [[/.lua]]] [/.musical_instrument_digital_interface [[/.midi]]] [/.vorbis_audio [[/.ogg]]] [/.portable_document_format [[/.pdf]]] [/.php_source_code [[/.php]]] [/.python_source_code [[/.python]]] [/.ruby_source_code [[/.ruby]]] [/.scheme_source_code [[/.scheme]]] [/.structured_query_language [[/.sql]]] [/.scalable_vector_graphics [[/.svg]]] [/.tape_archive [[/.tar]]] [/.yaml [[/.yet_another_markup_language] [/.yaml_ain't_markup_language]]] [/.zip_archive [[/.zip]]] )) )))))