/*******************************************************************************
* Copyright (c) 2013, 2014 Tasktop Technologies 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:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.gerrit.tests.core.client.rest;
import java.util.Collection;
import java.util.Map;
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.hamcrest.Factory;
import org.hamcrest.Matcher;
/**
* TODO: to be removed once https://git.eclipse.org/r/#/c/14691/ is merged
*/
public class IsEmpty<T> extends BaseMatcher<T> {
public boolean matches(Object o) {
if (o instanceof Collection) {
Collection<?> collection = (Collection<?>) o;
return collection.isEmpty();
}
if (o instanceof Map) {
Map<?, ?> map = (Map<?, ?>) o;
return map.isEmpty();
}
return false;
}
public void describeTo(Description buffer) {
buffer.appendText("is empty");
}
@Factory
public static <T> Matcher<T> isEmpty() {
return new IsEmpty<T>();
}
@Factory
public static <T> Matcher<T> empty() {
return isEmpty();
}
}