-- Unit tests for [[Module:A or an]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_all()
	self:preprocess_equals("{{a or an|.11}}", "a .11")
	self:preprocess_equals("{{a or an|-18}}", "a -18")
	self:preprocess_equals("{{a or an|$18 million}}", "an $18 million")
	self:preprocess_equals("{{a or an|11}}", "an 11")
	self:preprocess_equals("{{a or an|110}}", "a 110")
	self:preprocess_equals("{{a or an|18,000}}", "an 18,000")
	self:preprocess_equals("{{a or an|18}}", "an 18")
	self:preprocess_equals("{{a or an|180,000}}", "a 180,000")
	self:preprocess_equals("{{a or an|180}}", "a 180")
	self:preprocess_equals("{{a or an|18000}}", "an 18000")
	self:preprocess_equals("{{a or an|180000}}", "a 180000")
	self:preprocess_equals("{{a or an|1800s}}", "an 1800s")
	self:preprocess_equals("{{a or an|18th}}", "an 18th")
	self:preprocess_equals("{{a or an|8}}", "an 8")
	self:preprocess_equals("{{a or an|800}}", "an 800")
	self:preprocess_equals("{{a or an|85}}", "an 85")
	self:preprocess_equals("{{a or an|8th}}", "an 8th")
	self:preprocess_equals("{{a or an|EU}}", "an EU")
	self:preprocess_equals("{{a or an|Euler}}", "an Euler")
	self:preprocess_equals("{{a or an|euphoria}}", "a euphoria")
	self:preprocess_equals("{{a or an|Europe}}", "a Europe")
	self:preprocess_equals("{{a or an|Ewan}}", "a Ewan")
	self:preprocess_equals("{{a or an|FAQ}}", "an FAQ")
	self:preprocess_equals("{{a or an|FDA}}", "an FDA")
	self:preprocess_equals("{{a or an|FIFA}}", "a FIFA")
	self:preprocess_equals("{{a or an|haute}}", "an haute")
	self:preprocess_equals("{{a or an|hauteur}}", "an hauteur")
	self:preprocess_equals("{{a or an|heir}}", "an heir")
	self:preprocess_equals("{{a or an|herb}}", "a herb")
	self:preprocess_equals("{{a or an|herbal}}", "a herbal")
	self:preprocess_equals("{{a or an|herb|variety=us}}", "an herb")
	self:preprocess_equals("{{a or an|herbal|variety=US}}", "an herbal")
	self:preprocess_equals("{{a or an|hombre}}", "an hombre")
	self:preprocess_equals("{{a or an|honest}}", "an honest")
	self:preprocess_equals("{{a or an|honor}}", "an honor")
	self:preprocess_equals("{{a or an|honorary}}", "an honorary")
	self:preprocess_equals("{{a or an|honorific}}", "an honorific")
	self:preprocess_equals("{{a or an|honour}}", "an honour")
	self:preprocess_equals("{{a or an|honourable}}", "an honourable")
	self:preprocess_equals("{{a or an|hour}}", "an hour")
	self:preprocess_equals("{{a or an|hourglass}}", "an hourglass")
	self:preprocess_equals("{{a or an|hourly}}", "an hourly")
	self:preprocess_equals("{{a or an|HTML}}", "an HTML")
	self:preprocess_equals("{{a or an|HTML|variety=ie}}", "a HTML")
	self:preprocess_equals("{{a or an|led}}", "a led")
	self:preprocess_equals("{{a or an|LED}}", "an LED")
	self:preprocess_equals("{{a or an|LGBT}}", "an LGBT")
	self:preprocess_equals("{{a or an|MBA}}", "an MBA")
	self:preprocess_equals("{{a or an|NAACP}}", "an NAACP")
	self:preprocess_equals("{{a or an|NASA}}", "a NASA")
	self:preprocess_equals("{{a or an|once}}", "a once")
	self:preprocess_equals("{{a or an|one}}", "a one")
	self:preprocess_equals("{{a or an|oneness}}", "a oneness")
	self:preprocess_equals("{{a or an|onerous}}", "an onerous")
	self:preprocess_equals("{{a or an|one's}}", "a one's")
	self:preprocess_equals("{{a or an|oneself}}", "a oneself")
	self:preprocess_equals("{{a or an|one-sided}}", "a one-sided")
	self:preprocess_equals("{{a or an|RIA}}", "an RIA")
	self:preprocess_equals("{{a or an|s.l.}}", "an s.l.")
	self:preprocess_equals("{{a or an|SOS}}", "an SOS")
	self:preprocess_equals("{{a or an|U.S.}}", "a U.S.")
	self:preprocess_equals("{{a or an|UAE}}", "a UAE")
	self:preprocess_equals("{{a or an|ubiquitous}}", "a ubiquitous")
	self:preprocess_equals("{{a or an|Uganda}}", "a Uganda")
	self:preprocess_equals("{{a or an|UK}}", "a UK")
	self:preprocess_equals("{{a or an|Ukraine}}", "a Ukraine")
	self:preprocess_equals("{{a or an|Ukrainian}}", "a Ukrainian")
	self:preprocess_equals("{{a or an|ukulele}}", "a ukulele")
	self:preprocess_equals("{{a or an|UN}}", "a UN")
	self:preprocess_equals("{{a or an|unanimated}}", "an unanimated")
	self:preprocess_equals("{{a or an|unanimous}}", "a unanimous")
	self:preprocess_equals("{{a or an|UNESCO}}", "a UNESCO")
	self:preprocess_equals("{{a or an|UNICEF}}", "a UNICEF")
	self:preprocess_equals("{{a or an|unidentified}}", "an unidentified")
	self:preprocess_equals("{{a or an|unimaginable}}", "an unimaginable")
	self:preprocess_equals("{{a or an|unimportant}}", "an unimportant")
	self:preprocess_equals("{{a or an|uninherited}}", "an uninherited")
	self:preprocess_equals("{{a or an|uninvolved}}", "an uninvolved")
	self:preprocess_equals("{{a or an|unit}}", "a unit")
	self:preprocess_equals("{{a or an|United States}}", "a United States")
	self:preprocess_equals("{{a or an|universe}}", "a universe")
	self:preprocess_equals("{{a or an|university}}", "a university")
	self:preprocess_equals("{{a or an|Unix}}", "a Unix")
	self:preprocess_equals("{{a or an|UNRWA}}", "an UNRWA")
	self:preprocess_equals("{{a or an|upsilon}}", "an upsilon")
	self:preprocess_equals("{{a or an|uranium}}", "a uranium")
	self:preprocess_equals("{{a or an|Uranus}}", "a Uranus")
	self:preprocess_equals("{{a or an|urethra}}", "a urethra")
	self:preprocess_equals("{{a or an|urinate}}", "a urinate")
	self:preprocess_equals("{{a or an|urine}}", "a urine")
	self:preprocess_equals("{{a or an|Uruguay}}", "a Uruguay")
	self:preprocess_equals("{{a or an|US}}", "a US")
	self:preprocess_equals("{{a or an|USA}}", "a USA")
	self:preprocess_equals("{{a or an|usability}}", "a usability")
	self:preprocess_equals("{{a or an|usage}}", "a usage")
	self:preprocess_equals("{{a or an|USDAW}}", "an USDAW")
	self:preprocess_equals("{{a or an|use}}", "a use")
	self:preprocess_equals("{{a or an|user-friendly}}", "a user-friendly")
	self:preprocess_equals("{{a or an|usual}}", "a usual")
	self:preprocess_equals("{{a or an|usurp}}", "a usurp")
	self:preprocess_equals("{{a or an|Utah}}", "a Utah")
	self:preprocess_equals("{{a or an|utensil}}", "a utensil")
	self:preprocess_equals("{{a or an|uteri}}", "a uteri")
	self:preprocess_equals("{{a or an|uterus}}", "a uterus")
	self:preprocess_equals("{{a or an|utilitarian}}", "a utilitarian")
	self:preprocess_equals("{{a or an|utilized}}", "a utilized")
	self:preprocess_equals("{{a or an|utopia}}", "a utopia")
	self:preprocess_equals("{{a or an|Utrecht}}", "a Utrecht")
	self:preprocess_equals("{{a or an|U-turn}}", "a U-turn")
	self:preprocess_equals("{{a or an|uvula}}", "a uvula")
	self:preprocess_equals("{{a or an|X-ray}}", "an X-ray")
	self:preprocess_equals("{{a or an|ytterbium}}", "an ytterbium")
	self:preprocess_equals("{{a or an|''à la''}}", "an ''à la''")
	self:preprocess_equals("{{a or an|あ}}", "a あ")
end

return p