/**
 * <copyright>
 *
 * Copyright (c) 2012 E.D.Willink and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   E.D.Willink - Initial API and implementation
 *
 * </copyright>
 *
 * This file provides additional validation constraints for use of OCL embedded in Ecore.
 */
import ecore : 'EcoreTestFile.ecore'

package Bad

context BadClass
inv UnchachedDerivedIsNull('Wanted null'): uncachedDerived = null

endpackage