package com.rcpcompany.utils.basic.tests; import static org.junit.Assert.assertEquals; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.MultiStatus; import org.eclipse.core.runtime.Status; import org.junit.Test; import com.rcpcompany.utils.basic.TSStatusUtils; /** * Tests of {@link TSStatusUtils}. * * @author Tonny Madsen, tonny.madsen@gmail.com */ public class TSStatusUtilsTest { /** * Tests of the various standard {@link Status} values... */ @Test public void testStandardStatus() { assertEquals("STATUS[OK]", TSStatusUtils.toString(Status.OK_STATUS)); assertEquals("STATUS[CANCEL]", TSStatusUtils.toString(Status.CANCEL_STATUS)); } /** * Tests of the simple Status types... */ @Test public void testSimpleStatus() { assertEquals("Status[xyz, INFO, \"hello\", 0]", TSStatusUtils.toString(new Status(IStatus.INFO, "xyz", "hello"))); // Fragile!!! assertEquals("Status[xyz, INFO, \"hello\", 0, java.lang.NullPointerException (TSStatusUtilsTest.java:36) ]", TSStatusUtils.toString(new Status(IStatus.INFO, "xyz", "hello", new NullPointerException()))); assertEquals("Status[xyz, INFO, \"hello\", 123]", TSStatusUtils.toString(new Status(IStatus.INFO, "xyz", 123, "hello", null))); } /** * Tests of the compound Status types... */ @Test public void testCompoundStatus() { final Status s1 = new Status(IStatus.INFO, "xyz", "1"); final Status s2 = new Status(IStatus.WARNING, "xyz", "2"); final MultiStatus s = new MultiStatus("xyz", 100, "compound", null); s.add(s1); s.add(s2); assertEquals("MultiStatus[xyz, WARNING, \"compound\", 100] contains {\n" + " Status[xyz, INFO, \"1\", 0]\n" + " Status[xyz, WARNING, \"2\", 0]\n" + "}", TSStatusUtils.toString(s)); } }