001: package org.eclipse.core.tests.internal.databinding;
002:
003: import junit.framework.TestCase;
004:
005: import org.eclipse.core.databinding.util.Policy;
006: import org.eclipse.core.databinding.validation.ValidationStatus;
007: import org.eclipse.core.internal.databinding.BindingStatus;
008: import org.eclipse.core.runtime.IStatus;
009: import org.eclipse.core.runtime.Status;
010:
011: /*******************************************************************************
012: * Copyright (c) 2007 IBM Corporation and others.
013: * All rights reserved. This program and the accompanying materials
014: * are made available under the terms of the Eclipse Public License v1.0
015: * which accompanies this distribution, and is available at
016: * http://www.eclipse.org/legal/epl-v10.html
017: *
018: * Contributors:
019: * IBM Corporation - initial API and implementation
020: ******************************************************************************/
021:
022: /**
023: * @since 1.1
024: */
025: public class BindingStatusTest extends TestCase {
026: private BindingStatus bindingStatus;
027:
028: /* (non-Javadoc)
029: * @see junit.framework.TestCase#setUp()
030: */
031: protected void setUp() throws Exception {
032: super .setUp();
033:
034: bindingStatus = BindingStatus.ok();
035: }
036:
037: public void testMessageIsFromStatus() throws Exception {
038: String message = "error message";
039: IStatus status = ValidationStatus.error(message);
040:
041: bindingStatus.add(status);
042: assertEquals(message, bindingStatus.getMessage());
043: }
044:
045: public void testExceptionIsFromStatus() throws Exception {
046: IllegalArgumentException e = new IllegalArgumentException();
047: Status status = new Status(0, Policy.JFACE_DATABINDING, 0, "",
048: e);
049:
050: bindingStatus.add(status);
051: assertEquals(e, bindingStatus.getException());
052: }
053:
054: public void testPluginIsFromStatus() throws Exception {
055: String plugin = "test";
056: Status status = new Status(0, plugin, 0, "", null);
057:
058: bindingStatus.add(status);
059: assertEquals(plugin, bindingStatus.getPlugin());
060: }
061:
062: public void testCodeIsFromStatus() throws Exception {
063: int code = 1;
064: Status status = new Status(0, Policy.JFACE_DATABINDING, code,
065: "", null);
066:
067: bindingStatus.add(status);
068: assertEquals(code, status.getCode());
069: }
070:
071: public void testSeverityIsFromStatus() throws Exception {
072: IStatus status = ValidationStatus.error("");
073:
074: bindingStatus.add(status);
075: assertEquals(IStatus.ERROR, status.getSeverity());
076: }
077:
078: public void testLowerSeverityDoesNotOverwriteGreaterSeverity()
079: throws Exception {
080: String info = "info";
081: String error = "error";
082:
083: bindingStatus.add(ValidationStatus.error(error));
084: assertEquals(IStatus.ERROR, bindingStatus.getSeverity());
085: assertEquals(error, bindingStatus.getMessage());
086:
087: bindingStatus.add(ValidationStatus.info(info));
088: assertEquals(IStatus.ERROR, bindingStatus.getSeverity());
089: assertEquals(error, bindingStatus.getMessage());
090:
091: IStatus[] children = bindingStatus.getChildren();
092: assertEquals(2, children.length);
093: assertEquals(IStatus.ERROR, children[0].getSeverity());
094: assertEquals(IStatus.INFO, children[1].getSeverity());
095: }
096:
097: public void testEqual() throws Exception {
098: BindingStatus status1 = BindingStatus.ok();
099: BindingStatus status2 = BindingStatus.ok();
100:
101: assertEquals(status1, status2);
102: }
103:
104: public void testNotEqual() throws Exception {
105: BindingStatus status1 = BindingStatus.ok();
106: BindingStatus status2 = BindingStatus.ok();
107:
108: status2.add(ValidationStatus.error(""));
109: assertFalse(status1.equals(status2));
110: }
111:
112: public void testHashCode() throws Exception {
113: BindingStatus status1 = BindingStatus.ok();
114: BindingStatus status2 = BindingStatus.ok();
115:
116: assertEquals(status1.hashCode(), status2.hashCode());
117: }
118:
119: public void testOkInitializesStatus() throws Exception {
120: BindingStatus status = BindingStatus.ok();
121: assertEquals(Policy.JFACE_DATABINDING, status.getPlugin());
122: assertEquals("", status.getMessage());
123: assertEquals(0, status.getCode());
124: assertEquals(0, status.getChildren().length);
125: assertNull(status.getException());
126: }
127: }
|