! Copyright (C) 2022 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel tools.test unicode.flags.images ;
+USING: assocs countries kernel sets tools.test unicode.flags
+unicode.flags.images ;
IN: unicode.flags.images.tests
-{ } [ valid-flag-biassoc drop ] unit-test
\ No newline at end of file
+{ } [ valid-flag-biassoc drop ] unit-test
+
+{ { } } [
+ valid-flag-names alpha-2 keys diff
+ [ dup unicode>flag ] { } map>assoc
+] unit-test
! Copyright (C) 2022 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs biassocs fonts kernel math.combinatorics
-ranges sequences sequences.extras strings ui.text unicode.flags ;
+USING: accessors arrays assocs biassocs fonts kernel ranges
+sequences sequences.extras sequences.product strings ui.text
+unicode.flags ;
IN: unicode.flags.images
+: two-char-combinations ( -- seq )
+ CHAR: a CHAR: z [a..b] dup 2array [ >string ] product-map ;
+
MEMO: valid-flags ( -- flags )
- CHAR: a CHAR: z [a..b] 2 all-combinations-with-replacement
- [ >string unicode>flag ]
+ two-char-combinations
+ [ unicode>flag ]
[ monospace-font swap string>image drop dim>> first2 = ] map-filter ;
: valid-flag-names ( -- seq )