| /* |
| * Copyright (c) 2011 Google Inc. |
| * |
| * 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 |
| */ |
| package com.google.eclipse.protobuf.linking; |
| |
| import static org.hamcrest.core.AllOf.allOf; |
| import static org.hamcrest.core.IsEqual.equalTo; |
| import static org.hamcrest.core.IsNot.not; |
| import static org.hamcrest.core.IsSame.sameInstance; |
| import static org.junit.Assert.*; |
| import static org.mockito.Mockito.mock; |
| |
| import org.eclipse.xtext.nodemodel.INode; |
| import org.junit.*; |
| |
| /** |
| * Tests for <code>{@link ProtobufDiagnostic#ProtobufDiagnostic(String, String[], String, INode)}</code> |
| * |
| * @author alruiz@google.com (Alex Ruiz) |
| */ |
| public class ProtobufDiagnostic_constructor_Test { |
| private static INode node; |
| |
| @BeforeClass public static void setUpOnce() { |
| node = mock(INode.class); |
| } |
| |
| @Test(expected = NullPointerException.class) |
| public void should_throw_exception_if_data_is_null() { |
| new ProtobufDiagnostic("1000", null, "message", node); |
| } |
| |
| @Test(expected = NullPointerException.class) |
| public void should_throw_exception_if_data_contains_nulls() { |
| new ProtobufDiagnostic("1000", new String[] { null }, "message", node); |
| } |
| |
| @Test(expected = NullPointerException.class) |
| public void should_throw_exception_if_node_is_null() { |
| new ProtobufDiagnostic("1000", new String[0], "message", null); |
| } |
| |
| @SuppressWarnings("unchecked") |
| @Test public void should_create_new_instance() { |
| String[] data = { "abc.proto" }; |
| ProtobufDiagnostic d = new ProtobufDiagnostic("1000", data, "message", node); |
| assertNotNull(d); |
| assertThat(d.getCode(), equalTo("1000")); |
| assertThat(d.getData(), allOf(equalTo(data), not(sameInstance(data)))); |
| assertThat(d.getMessage(), equalTo("message")); |
| assertSame(node, d.getNode()); |
| } |
| } |