[ { "name": "pounds and pence in words", "args": [ { "minor": 123456, "currency": "GBP" }, "words" ], "expect": { "words": "One thousand two hundred and thirty-four pounds and fifty-six pence only", "figures": "£1,234.56" } }, { "name": "pounds and pence as figures", "args": [ { "minor": 12050, "currency": "GBP" }, "figures" ], "expect": { "words": "One hundred and twenty pounds and 50p only", "figures": "£120.50" } }, { "name": "whole pounds leave the pence out in words", "args": [ { "minor": 1000, "currency": "GBP" }, "words" ], "expect": { "words": "Ten pounds only", "figures": "£10.00" } }, { "name": "whole pounds leave the pence out as figures", "args": [ { "minor": 1000, "currency": "GBP" }, "figures" ], "expect": { "words": "Ten pounds only", "figures": "£10.00" } }, { "name": "single pence are not padded", "args": [ { "minor": 10005, "currency": "GBP" }, "figures" ], "expect": { "words": "One hundred pounds and 5p only", "figures": "£100.05" } }, { "name": "one pound and one penny", "args": [ { "minor": 101, "currency": "GBP" }, "words" ], "expect": { "words": "One pound and one penny only", "figures": "£1.01" } }, { "name": "under a pound in words", "args": [ { "minor": 50, "currency": "GBP" }, "words" ], "expect": { "words": "Fifty pence only", "figures": "£0.50" } }, { "name": "under a pound as figures still writes the pounds in words", "args": [ { "minor": 50, "currency": "GBP" }, "figures" ], "expect": { "words": "Zero pounds and 50p only", "figures": "£0.50" } }, { "name": "the smallest cheque", "args": [ { "minor": 1, "currency": "GBP" }, "words" ], "expect": { "words": "One penny only", "figures": "£0.01" } }, { "name": "British and after hundreds", "args": [ { "minor": 10100, "currency": "GBP" }, "words" ], "expect": { "words": "One hundred and one pounds only", "figures": "£101.00" } }, { "name": "a million", "args": [ { "minor": 100000000, "currency": "GBP" }, "words" ], "expect": { "words": "One million pounds only", "figures": "£1,000,000.00" } }, { "name": "euros", "args": [ { "minor": 2575, "currency": "EUR" }, "words" ], "expect": { "words": "Twenty-five euros and seventy-five cents only", "figures": "€25.75" } }, { "name": "euro cents as figures", "args": [ { "minor": 2575, "currency": "EUR" }, "figures" ], "expect": { "words": "Twenty-five euros and 75c only", "figures": "€25.75" } }, { "name": "dollars", "args": [ { "minor": 199, "currency": "USD" }, "figures" ], "expect": { "words": "One dollar and 99c only", "figures": "$1.99" } }, { "name": "a zero cheque is an error", "args": [ { "minor": 0, "currency": "GBP" }, "words" ], "expectError": "a cheque amount must be greater than zero" }, { "name": "a negative cheque is an error", "args": [ { "minor": -500, "currency": "GBP" }, "words" ], "expectError": "a cheque amount must be greater than zero" }, { "name": "a currency without words is an error", "args": [ { "minor": 500, "currency": "JPY" }, "words" ], "expectError": "no words for currency \"JPY\"" }, { "name": "an unknown pence style is an error", "args": [ { "minor": 500, "currency": "GBP" }, "roman" ], "expectError": "unknown pence style" } ]