| 1 | /******************************************************************************* |
| 2 | * Copyright (c) 2011, 2014 Ericsson |
| 3 | * |
| 4 | * All rights reserved. This program and the accompanying materials are |
| 5 | * made available under the terms of the Eclipse Public License v1.0 which |
| 6 | * accompanies this distribution, and is available at |
| 7 | * http://www.eclipse.org/legal/epl-v10.html |
| 8 | * |
| 9 | * Contributors: |
| 10 | * Bernd Hufmann - Initial API and implementation |
| 11 | * Alexandre Montplaisir - Port to JUnit4 |
| 12 | *******************************************************************************/ |
| 13 | |
| 14 | package org.eclipse.tracecompass.tmf.core.tests.uml2sd; |
| 15 | |
| 16 | import static org.junit.Assert.assertEquals; |
| 17 | import static org.junit.Assert.assertTrue; |
| 18 | import static org.junit.Assert.fail; |
| 19 | |
| 20 | import org.eclipse.jdt.annotation.NonNull; |
| 21 | import org.eclipse.tracecompass.tmf.core.event.ITmfEvent; |
| 22 | import org.eclipse.tracecompass.tmf.core.event.ITmfEventField; |
| 23 | import org.eclipse.tracecompass.tmf.core.event.TmfEvent; |
| 24 | import org.eclipse.tracecompass.tmf.core.event.TmfEventField; |
| 25 | import org.eclipse.tracecompass.tmf.core.event.TmfEventType; |
| 26 | import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp; |
| 27 | import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp; |
| 28 | import org.eclipse.tracecompass.tmf.core.trace.ITmfContext; |
| 29 | import org.eclipse.tracecompass.tmf.core.uml2sd.TmfSyncSequenceDiagramEvent; |
| 30 | import org.junit.Test; |
| 31 | |
| 32 | /** |
| 33 | * TmfSyncSequenceDiagramEventTest |
| 34 | */ |
| 35 | public class TmfSyncSequenceDiagramEventTest { |
| 36 | |
| 37 | private final @NonNull String fTypeId = "Some type"; |
| 38 | private final @NonNull String fLabel0 = "label1"; |
| 39 | private final @NonNull String fLabel1 = "label2"; |
| 40 | private final String[] fLabels = new String[] { fLabel0, fLabel1 }; |
| 41 | |
| 42 | private final ITmfTimestamp fTimestamp1 = TmfTimestamp.create(12345, (byte) 2); |
| 43 | private final TmfEventType fType = new TmfEventType(fTypeId, TmfEventField.makeRoot(fLabels)); |
| 44 | |
| 45 | private final ITmfEvent fEvent1; |
| 46 | private final TmfEventField fContent1; |
| 47 | |
| 48 | /** |
| 49 | * Constructor for the test case |
| 50 | */ |
| 51 | public TmfSyncSequenceDiagramEventTest() { |
| 52 | fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content", null); |
| 53 | fEvent1 = new TmfEvent(null, ITmfContext.UNKNOWN_RANK, fTimestamp1, fType, fContent1); |
| 54 | } |
| 55 | |
| 56 | /** |
| 57 | * Main test |
| 58 | */ |
| 59 | @Test |
| 60 | public void testTmfSyncSequenceDiagramEvent() { |
| 61 | TmfSyncSequenceDiagramEvent event = null; |
| 62 | try { |
| 63 | event = new TmfSyncSequenceDiagramEvent(null, null, null, null); |
| 64 | fail(); |
| 65 | } catch (IllegalArgumentException e) { |
| 66 | // success |
| 67 | assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("startEvent=null")); |
| 68 | } |
| 69 | |
| 70 | try { |
| 71 | event = new TmfSyncSequenceDiagramEvent(fEvent1, null, null, null); |
| 72 | fail(); |
| 73 | } catch (IllegalArgumentException e) { |
| 74 | // success |
| 75 | assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("sender=null")); |
| 76 | } |
| 77 | |
| 78 | try { |
| 79 | event = new TmfSyncSequenceDiagramEvent(fEvent1, "sender", null, null); |
| 80 | fail(); |
| 81 | } catch (IllegalArgumentException e) { |
| 82 | // success |
| 83 | assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("receiver=null")); |
| 84 | } |
| 85 | |
| 86 | try { |
| 87 | event = new TmfSyncSequenceDiagramEvent(fEvent1, "sender", "receiver", null); |
| 88 | fail(); |
| 89 | } catch (IllegalArgumentException e) { |
| 90 | // success |
| 91 | assertTrue("testTmfSyncSequenceDiagramEvent", e.getMessage().contains("name=null")); |
| 92 | } |
| 93 | |
| 94 | try { |
| 95 | event = new TmfSyncSequenceDiagramEvent(fEvent1, "sender", "receiver", "signal"); |
| 96 | // success |
| 97 | assertEquals("testTmfSyncSequenceDiagramEvent", 0, event.getStartTime().compareTo(fTimestamp1)); |
| 98 | assertEquals("testTmfSyncSequenceDiagramEvent", "sender", event.getSender()); |
| 99 | assertEquals("testTmfSyncSequenceDiagramEvent", "receiver", event.getReceiver()); |
| 100 | assertEquals("testTmfSyncSequenceDiagramEvent", "signal", event.getName()); |
| 101 | |
| 102 | } catch (IllegalArgumentException e) { |
| 103 | fail(); |
| 104 | } |
| 105 | } |
| 106 | } |