[ { "name": "three Okabe-Ito colours start with orange, not black", "args": ["okabe-ito", 3, false], "expect": ["#e69f00", "#56b4e9", "#009e73"] }, { "name": "all eight Okabe-Ito colours, black last", "args": ["okabe-ito", 8, false], "expect": ["#e69f00", "#56b4e9", "#009e73", "#f0e442", "#0072b2", "#d55e00", "#cc79a7", "#000000"] }, { "name": "one colour", "args": ["okabe-ito", 1, false], "expect": ["#e69f00"] }, { "name": "zero colours is an empty list", "args": ["okabe-ito", 0, false], "expect": [] }, { "name": "all seven of Tol's bright scheme in his order", "args": ["tol-bright", 7, false], "expect": ["#4477aa", "#ee6677", "#228833", "#ccbb44", "#66ccee", "#aa3377", "#bbbbbb"] }, { "name": "two of Tol's bright scheme", "args": ["tol-bright", 2, true], "expect": ["#4477aa", "#ee6677"] }, { "name": "cycling repeats from the start", "args": ["okabe-ito", 10, true], "expect": ["#e69f00", "#56b4e9", "#009e73", "#f0e442", "#0072b2", "#d55e00", "#cc79a7", "#000000", "#e69f00", "#56b4e9"] }, { "name": "cycling Tol's scheme past its seventh colour", "args": ["tol-bright", 9, true], "expect": ["#4477aa", "#ee6677", "#228833", "#ccbb44", "#66ccee", "#aa3377", "#bbbbbb", "#4477aa", "#ee6677"] }, { "name": "exactly the scheme's size needs no cycle", "args": ["tol-bright", 7, false], "expect": ["#4477aa", "#ee6677", "#228833", "#ccbb44", "#66ccee", "#aa3377", "#bbbbbb"] }, { "name": "more colours than the scheme has, without cycle, is an error", "args": ["okabe-ito", 9, false], "expectError": "palette \"okabe-ito\" has only 8 colours" }, { "name": "an unknown scheme is an error", "args": ["rainbow", 3, false], "expectError": "unknown palette \"rainbow\"" }, { "name": "a negative count is an error", "args": ["okabe-ito", -1, false], "expectError": "count must be a whole number of at least 0" } ]