// Path: src/main/java/org/holmes/exception/ValidationException.java
// public class ValidationException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 3422556211439163240L;
// 
// 	private final Set<String> violationsDescriptors;
// 
// 	public ValidationException(Collection<String> violationsDescriptors) {
// 
// 		this.violationsDescriptors = new LinkedHashSet<String>(violationsDescriptors);
// 	}
// 
// 	public Set<String> getViolationsDescriptors() {
// 
// 		return Collections.unmodifiableSet(violationsDescriptors);
// 	}
// 	
// 	@Override
// 	public String getMessage() {
// 		
// 		return this.toString();
// 	}
// 
// 	@Override
// 	public String toString() {
// 
// 		return violationsDescriptors.toString();
// 	}
// }


import java.util.Arrays;
import org.hamcrest.BaseMatcher;
import org.hamcrest.CoreMatchers;
import org.hamcrest.Description;
import org.holmes.exception.ValidationException;
package org.holmes.test;



class ValidationExceptionMatcher extends BaseMatcher<ValidationException> {

	private final String[] violationDescriptors;

	public ValidationExceptionMatcher(String... violationDescriptors) {

		this.violationDescriptors = violationDescriptors;
	}

	@Override
	public boolean matches(Object item) {

		if (!(item instanceof ValidationException)) {
			return false;
		}

// Path: src/main/java/org/holmes/exception/ValidationException.java
// public class ValidationException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 3422556211439163240L;
// 
// 	private final Set<String> violationsDescriptors;
// 
// 	public ValidationException(Collection<String> violationsDescriptors) {
// 
// 		this.violationsDescriptors = new LinkedHashSet<String>(violationsDescriptors);
// 	}
// 
// 	public Set<String> getViolationsDescriptors() {
// 
// 		return Collections.unmodifiableSet(violationsDescriptors);
// 	}
// 	
// 	@Override
// 	public String getMessage() {
// 		
// 		return this.toString();
// 	}
// 
// 	@Override
// 	public String toString() {
// 
// 		return violationsDescriptors.toString();
// 	}
// }


// Path: src/test/java/org/holmes/test/ValidationExceptionMatcher.java
import java.util.Arrays;
import org.hamcrest.BaseMatcher;
import org.hamcrest.CoreMatchers;
import org.hamcrest.Description;
import org.holmes.exception.ValidationException;

package org.holmes.test;



class ValidationExceptionMatcher extends BaseMatcher<ValidationException> {

	private final String[] violationDescriptors;

	public ValidationExceptionMatcher(String... violationDescriptors) {

		this.violationDescriptors = violationDescriptors;
	}

	@Override
	public boolean matches(Object item) {

		if (!(item instanceof ValidationException)) {
			return false;
		}

		ValidationException ex = (ValidationException) item;