blob: aeae129f7af70a9757f2c742e8885d008e644be6 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2021 the Eclipse BaSyx Authors
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
******************************************************************************/
package org.eclipse.basyx.testsuite.regression.submodel.metamodel.map.qualifier;
import static org.junit.Assert.assertEquals;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import org.eclipse.basyx.submodel.metamodel.api.dataspecification.IEmbeddedDataSpecification;
import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
import org.eclipse.basyx.submodel.metamodel.api.reference.IReference;
import org.eclipse.basyx.submodel.metamodel.api.reference.enums.KeyElements;
import org.eclipse.basyx.submodel.metamodel.map.dataspecification.EmbeddedDataSpecification;
import org.eclipse.basyx.submodel.metamodel.map.identifier.Identifier;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.AdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.map.reference.Reference;
import org.junit.Before;
import org.junit.Test;
/**
* Tests constructor, setter and getter of {@link AdministrativeInformation} for their
* correctness
*
* @author haque
*
*/
public class TestAdministrativeInformation {
private static final String VERSION = "1.0";
private static final String REVISION = "5";
private static final KeyElements KEY_ELEMENTS = KeyElements.ASSET;
private static final boolean IS_LOCAL = false;
private static final String VALUE = "testValue";
private static final IdentifierType ID_TYPE = IdentifierType.CUSTOM;
private static final Identifier IDENTIFIER = new Identifier(ID_TYPE, VALUE);
private static final Reference REFERENCE = new Reference(IDENTIFIER, KEY_ELEMENTS, IS_LOCAL);
private AdministrativeInformation information;
@Before
public void buildAdministrativeInformation() {
information = new AdministrativeInformation(VERSION, REVISION);
}
@Test
public void testConstructor() {
assertEquals(VERSION, information.getVersion());
assertEquals(REVISION, information.getRevision());
assertEquals(new HashSet<IReference>(), information.getDataSpecificationReferences());
}
@Test
public void testSetDataSpecificationReferences() {
Collection<IReference> references = Collections.singleton(REFERENCE);
information.setDataSpecificationReferences(references);
assertEquals(references, information.getDataSpecificationReferences());
}
@SuppressWarnings("deprecation")
@Test
public void testSetVersion() {
String newVersionString = "2.0";
information.setVersion(newVersionString);
assertEquals(newVersionString, information.getVersion());
}
@SuppressWarnings("deprecation")
@Test
public void testSetRevision() {
String newRevisionString = "2.0.1";
information.setRevision(newRevisionString);
assertEquals(newRevisionString, information.getRevision());
}
@Test
public void testSetVersionInformation() {
String newVersionString = "2.0";
String newRevisionString = "2.0.1";
information.setVersionInformation(newVersionString, newRevisionString);
assertEquals(newVersionString, information.getVersion());
assertEquals(newRevisionString, information.getRevision());
}
@Test(expected = RuntimeException.class)
public void testSetVersionInformationExceptionEmptyString() {
String newVersionString = "";
String newRevisionString = "2.0.1";
information.setVersionInformation(newVersionString, newRevisionString);
}
@Test(expected = RuntimeException.class)
public void testSetVersionInformationExceptionNullString() {
String newVersionString = null;
String newRevisionString = "2.0.1";
information.setVersionInformation(newVersionString, newRevisionString);
}
@Test
public void testSetVersionInformationNoRevision() {
String newVersionString = "";
String newRevisionString = "";
information.setVersionInformation(newVersionString, newRevisionString);
assertEquals(newVersionString, information.getVersion());
assertEquals(newRevisionString, information.getRevision());
}
@Test
public void testSetEmbeddedDataSpecifications() {
EmbeddedDataSpecification embeddedDataSpecification = new EmbeddedDataSpecification();
Collection<IEmbeddedDataSpecification> specifications = Collections.singleton(embeddedDataSpecification);
information.setEmbeddedDataSpecifications(specifications);
assertEquals(specifications, information.getEmbeddedDataSpecifications());
}
}