### Question:
MapProperty extends BaseProperty<Map<K, V>> implements RelationshipProperty<Map<K, V>> { public Expression notContainsId(Object id) { return ExpressionFactory.noMatchExp(getExpression(), id); } protected  MapProperty(String name, Expression expression, Class<K> keyType, Class<V> entityType); EntityProperty<V> flat(); Expression contains(V value); Expression notContains(V value); @SafeVarargs final Expression contains(V firstValue, V... moreValues); Expression contains(Collection<V> values); Expression notContains(Collection<V> values); @SafeVarargs final Expression notContains(V firstValue, V... moreValues); Expression containsId(Object id); Expression containsId(Object firstId, Object... moreId); Expression containsId(Collection<Object> ids); Expression notContainsId(Object id); Expression notContainsId(Object firstId, Object... moreId); Expression notContainsId(Collection<Object> ids); @Override MapProperty<K, V> alias(String alias); @Override MapProperty<K, V> outer(); MapProperty<K, V> enclosing();  }### Answer:
@Test public void notContainsOneId() { Expression exp = property.notContainsId(1); assertEquals(ExpressionFactory.exp("path != 1"), exp); }
@Test public void notContainsManyIdArray() { Expression exp = property.notContainsId(1, 2, 3); assertEquals(ExpressionFactory.exp("path not in (1,2,3)"), exp); }
@Test public void notContainsManyIdCollection() { Expression exp = property.notContainsId(Arrays.asList(1, 2, 3)); assertEquals(ExpressionFactory.exp("path not in (1,2,3)"), exp); }