@Test
public void test_ExtractDuration_happyPath() {

	RangerTimeOfDayMatcher matcher = new RangerTimeOfDayMatcher();
	Object[][] input = new Object[][] {
			{ "9am-5pm", true, 9*60, (12+5)*60 },
			{ "1 PM - 10P.M.", true, (12+1)*60, (12+10)*60 },
			{ "1PM - 9AM", true, (12+1)*60, 9*60 },
			{ "11am-12pm", true, 11*60, 12*60 },
			{ "11pm-12am", true, (12+11)*60, 0*60 },
			{ "12am-12pm", true, 0*60, 12*60 },
			{ "12pm-12am", true, 12*60, 0*60 },
			{ "1PM", false, null, null }, // illegal patterns should come back as null, too
	};
	for (Object[] data: input) {
		int[] duration = matcher.extractDuration((String)data[0]);
		boolean expectedToMatch = (boolean)data[1];
		if (expectedToMatch) {
			int start = (Integer)data[2];
			int end = (Integer)data[3];
			Assert.assertArrayEquals(new int[] { start, end }, duration);
		} else {
			Assert.assertNull(duration);
		}
	}
}