@Test
public void testLanguageFilterForProperty() {

	Set<String> languageFilter = new HashSet<>();
	languageFilter.add("de");
	languageFilter.add("he");
	DocumentDataFilter documentDataFilter = new DocumentDataFilter();
	documentDataFilter.setLanguageFilter(languageFilter);
	DatamodelFilter filter = new DatamodelFilter(new DataObjectFactoryImpl(), documentDataFilter);
	PropertyDocument propertyDocument = Datamodel.makePropertyDocument(
			Datamodel.makeWikidataPropertyIdValue("P42"),
			Arrays.asList(
					Datamodel.makeMonolingualTextValue("Label de", "de"),
					Datamodel.makeMonolingualTextValue("Label en", "en"),
					Datamodel.makeMonolingualTextValue("Label he", "he")
			),
			Arrays.asList(
					Datamodel.makeMonolingualTextValue("Desc en", "en"),
					Datamodel.makeMonolingualTextValue("Desc he", "he")
			),
			Arrays.asList(
					Datamodel.makeMonolingualTextValue("Alias en", "en"),
					Datamodel.makeMonolingualTextValue("Alias de1", "de"),
					Datamodel.makeMonolingualTextValue("Alias de2", "de")
			),
			Collections.emptyList(),
			Datamodel.makeDatatypeIdValue(DatatypeIdValue.DT_STRING)
	);
	PropertyDocument propertyDocumentFiltered = Datamodel.makePropertyDocument(
			Datamodel.makeWikidataPropertyIdValue("P42"),
			Arrays.asList(
					Datamodel.makeMonolingualTextValue("Label de", "de"),
					Datamodel.makeMonolingualTextValue("Label he", "he")
			),
			Collections.singletonList(
					Datamodel.makeMonolingualTextValue("Desc he", "he")
			),
			Arrays.asList(
					Datamodel.makeMonolingualTextValue("Alias de1", "de"),
					Datamodel.makeMonolingualTextValue("Alias de2", "de")
			),
			Collections.emptyList(),
			Datamodel.makeDatatypeIdValue(DatatypeIdValue.DT_STRING)
	);
	assertEquals(propertyDocumentFiltered, filter.filter(propertyDocument));
}