blob: 9f1353e730e7d3dd4b71930055ede9d1300dcea3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Eugen Neufeld - initial API and implementation
******************************************************************************/
package org.eclipse.emf.ecp.view.validation.bean.test;
import static org.junit.Assert.assertEquals;
import java.io.InputStream;
import java.util.List;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.ecp.view.internal.validation.bean.DefaultValidationProvider;
import org.eclipse.emf.ecp.view.validation.bean.BeanValidationProvider;
import org.junit.Test;
import car.CarFactory;
import car.CarPackage;
public class BeanValidationProvider_Test {
@Test
public void testAttributeOfRootValidation() {
car.Driver driverEMF = CarFactory.eINSTANCE.createDriver();
driverEMF.setName("John Doe");
driverEMF.setAge(17);
driverEMF.setBirthPlace("NY");
InputStream is = getClass().getResourceAsStream("/violations.xml");
BeanValidationProvider bvp = new DefaultValidationProvider(is);
List<Diagnostic> validate = bvp.validate(driverEMF);
assertEquals(1, validate.size());
assertEquals(driverEMF, validate.get(0).getData().get(0));
assertEquals(CarPackage.eINSTANCE.getDriver_Age(), validate.get(0)
.getData().get(1));
}
@Test
public void testAttributeOfChildValidation() {
car.Driver driverEMF = CarFactory.eINSTANCE.createDriver();
driverEMF.setName("John Doe");
driverEMF.setAge(17);
driverEMF.setBirthPlace("NY");
car.Car carEMF = CarFactory.eINSTANCE.createCar();
carEMF.setManufacturer("SuperCar");
carEMF.setSeatCount(2);
carEMF.setLicensePlate("MM213");
carEMF.setDriver(driverEMF);
// car.Person person1EMF = CarFactory.eINSTANCE.createPerson();
// person1EMF.setName("Bob der Baumeister");
// person1EMF.setBirthPlace("Ort1");
// driverEMF.getChildren().add(person1EMF);
// car.Person person2EMF = CarFactory.eINSTANCE.createPerson();
// person2EMF.setName("Jane Doe");
// person2EMF.setBirthPlace("LA");
// driverEMF.getChildren().add(person2EMF);
// car.Person person3EMF = CarFactory.eINSTANCE.createPerson();
// person3EMF.setName("Bernd das Brot");
// person3EMF.setBirthPlace("Ort2");
// driverEMF.getChildren().add(person3EMF);
InputStream is = getClass().getResourceAsStream("/violations.xml");
BeanValidationProvider bvp = new DefaultValidationProvider(is);
List<Diagnostic> validate = bvp.validate(carEMF);
assertEquals(1, validate.size());
assertEquals(driverEMF, validate.get(0).getData().get(0));
assertEquals(CarPackage.eINSTANCE.getDriver_Age(), validate.get(0)
.getData().get(1));
}
}