/* * Copyright 2015-2017 the original author or authors. * * 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 org.junit.platform.launcher; import static java.util.Collections.singleton; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.platform.commons.util.SerializationUtils.serializeAndDeserialize; import org.junit.jupiter.api.Test; import org.junit.platform.engine.TestDescriptor; import org.junit.platform.engine.TestTag; import org.junit.platform.engine.UniqueId; import org.junit.platform.engine.support.descriptor.ClassSource; import org.junit.platform.engine.test.TestDescriptorStub; /** * @since 1.0 */ class TestIdentifierTests { @Test void inheritsIdAndNamesFromDescriptor() { TestDescriptor testDescriptor = new TestDescriptorStub(UniqueId.root("aType", "uniqueId"), "displayName"); TestIdentifier testIdentifier = TestIdentifier.from(testDescriptor); assertEquals("[aType:uniqueId]", testIdentifier.getUniqueId()); assertEquals("displayName", testIdentifier.getDisplayName()); } @Test void inheritsTypeFromDescriptor() { TestDescriptor descriptor = new TestDescriptorStub(UniqueId.root("aType", "uniqueId"), "displayName"); TestIdentifier identifier = TestIdentifier.from(descriptor); assertEquals(TestDescriptor.Type.TEST, identifier.getType()); assertTrue(identifier.isTest()); assertFalse(identifier.isContainer()); descriptor.addChild(new TestDescriptorStub(UniqueId.root("aChild", "uniqueId"), "displayName")); identifier = TestIdentifier.from(descriptor); assertEquals(TestDescriptor.Type.CONTAINER, identifier.getType()); assertFalse(identifier.isTest()); assertTrue(identifier.isContainer()); } @Test void serialization() throws Exception { TestIdentifier identifier = serializeAndDeserialize(// new TestIdentifier("uniqueId", "displayName", new ClassSource(TestIdentifierTests.class), singleton(TestTag.create("aTag")), TestDescriptor.Type.TEST, "parentId", "reportingName")); assertEquals("uniqueId", identifier.getUniqueId()); assertEquals("displayName", identifier.getDisplayName()); assertEquals("reportingName", identifier.getLegacyReportingName()); assertThat(identifier.getSource()).contains(new ClassSource(TestIdentifierTests.class)); assertEquals(singleton(TestTag.create("aTag")), identifier.getTags()); assertEquals(TestDescriptor.Type.TEST, identifier.getType()); assertTrue(identifier.isTest()); assertFalse(identifier.isContainer()); assertThat(identifier.getParentId()).contains("parentId"); } }