### Question:
I18nDataExtractor implements DataExtractor { @Override public RatingTo extractRating(Map<XmlNodeName, String> trackValues, XmlNodeName key) { return new RatingTo(extractInt(trackValues, 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 shouldExtractRatingValue() { trackValues.put(XmlNodeName.COMPOSER, "80"); assertEquals(new RatingTo(80), dataExtractor.extractRating(trackValues, XmlNodeName.COMPOSER)); }
@Test public void shouldExtractRating0ValueWhenKeyNotPresent() { assertEquals(new RatingTo(0), dataExtractor.extractRating(trackValues, XmlNodeName.COMPOSER)); }