blob: 820532c096186b382733bb9e418d6ffcf1cfb85d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 Tasktop Technologies and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.tasks.tests.data;
import java.util.Arrays;
import java.util.Collections;
import junit.framework.TestCase;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper;
import org.eclipse.mylyn.tasks.core.data.TaskData;
/**
* @author Benjamin Muskalla
* @author Miles Parker
*/
public class TaskAttributeTest extends TestCase {
private TaskAttribute attribute;
@Override
protected void setUp() throws Exception {
TaskRepository taskRepository = new TaskRepository("kind", "repository");
TaskAttributeMapper mapper = new TaskAttributeMapper(taskRepository);
TaskData data = new TaskData(mapper, "kind", "repository", "id");
attribute = new TaskAttribute(data.getRoot(), "test");
}
public void testGetValue() {
attribute.setValue("baz");
assertEquals("baz", attribute.getValue());
attribute.setValue("bee");
assertEquals("bee", attribute.getValue());
}
public void testRegularValue() throws Exception {
attribute.setValue("foo");
assertEquals("foo", attribute.getValue());
}
public void testRegularValues() throws Exception {
attribute.setValues(Collections.singletonList("foo"));
assertEquals("foo", attribute.getValue());
}
public void testHasValue() {
assertFalse(attribute.hasValue());
attribute.setValue("description");
assertTrue(attribute.hasValue());
attribute.clearValues();
assertFalse(attribute.hasValue());
attribute.setValue("description");
assertTrue(attribute.hasValue());
}
public void testNullValue() throws Exception {
try {
attribute.setValue(null);
fail("Should refuse null");
} catch (Exception e) {
// expected
}
}
public void testNullAsValues() throws Exception {
try {
attribute.setValues(null);
fail("Should refuse null");
} catch (Exception e) {
// expected
}
}
public void testNullAsList() throws Exception {
try {
attribute.setValues(Collections.<String> singletonList(null));
fail("Should refuse null");
} catch (Exception e) {
// expected
}
}
public void testNullInsideValuesList() throws Exception {
try {
attribute.setValues(Arrays.asList("foo", null, "bar"));
fail("Should refuse null");
} catch (Exception e) {
// expected
}
}
}