### Question:
I18nDataExtractor implements DataExtractor { @Override public Boolean extractBoolean(Map<XmlNodeName, String> trackValues, XmlNodeName key) { return Boolean.valueOf(trackValues.get(key)); }  @Override RatingTo extractRating(Map<XmlNodeName, String> trackValues,
			XmlNodeName key); @Override int extractInt(Map<XmlNodeName, String> trackValues, XmlNodeName key); @Override Boolean extractBoolean(Map<XmlNodeName, String> trackValues,
			XmlNodeName key); @Override String extractString(Map<XmlNodeName, String> trackValues,
			XmlNodeName key); @Override Date extractDate(Map<XmlNodeName, String> trackValues,
			XmlNodeName key); void setEnglishValuesProvider(
			EnglishValuesProvider englishValuesProvider);  }### Answer:
@Test public void shouldExtractLegitBooleanTrue() { trackValues.put(XmlNodeName.COMPOSER, "true"); assertTrue(dataExtractor.extractBoolean(trackValues, XmlNodeName.COMPOSER)); }
@Test public void shouldExtractLegitBooleanFalse() { trackValues.put(XmlNodeName.COMPOSER, "false"); assertFalse(dataExtractor.extractBoolean(trackValues, XmlNodeName.COMPOSER)); }
@Test public void shouldExtractBooleanFalseWhenKeyNotPresent() { assertFalse(dataExtractor.extractBoolean(trackValues, XmlNodeName.COMPOSER)); }