/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
+ * Copyright (C) 2019, 2023 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.models.tosca.simple.concepts;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
+import java.util.ArrayList;
import org.junit.Test;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaConstraintLogical;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaConstraint;
/**
- * DAO test for ToscaConstraintLogicalString.
+ * Test the {@link JpaToscaConstraintLogical} class.
*
* @author Liam Fallon (liam.fallon@est.tech)
*/
public class JpaToscaConstraintLogicalTest {
+ private static final String HELLO = "Hello";
+
@Test
- public void testConstraintLogicalStringPojo() {
- assertNotNull(new JpaToscaConstraintLogical(JpaToscaConstraintOperation.EQ, "Constraint"));
+ public void testLogicalConstraint() {
+ ToscaConstraint c0 = new ToscaConstraint();
+ c0.setEqual(HELLO);
+ JpaToscaConstraintLogical jc0 = new JpaToscaConstraintLogical(c0);
+ assertEquals(c0, jc0.toAuthorative());
+
+ ToscaConstraint c1 = new ToscaConstraint();
+ c1.setGreaterOrEqual(HELLO);
+ JpaToscaConstraintLogical jc1 = new JpaToscaConstraintLogical(c1);
+ assertEquals(c1, jc1.toAuthorative());
+
+ ToscaConstraint c2 = new ToscaConstraint();
+ c2.setGreaterThan(HELLO);
+ JpaToscaConstraintLogical jc2 = new JpaToscaConstraintLogical(c2);
+ assertEquals(c2, jc2.toAuthorative());
- try {
- new JpaToscaConstraintLogical((JpaToscaConstraintOperation) null, null);
- fail("test should throw an exception");
- } catch (Exception exc) {
- assertEquals("operation is marked @NonNull but is null", exc.getMessage());
- }
+ ToscaConstraint c3 = new ToscaConstraint();
+ c3.setLessOrEqual(HELLO);
+ JpaToscaConstraintLogical jc3 = new JpaToscaConstraintLogical(c3);
+ assertEquals(c3, jc3.toAuthorative());
- try {
- new JpaToscaConstraintLogical((JpaToscaConstraintOperation) null, "Hello");
- fail("test should throw an exception");
- } catch (Exception exc) {
- assertEquals("operation is marked @NonNull but is null", exc.getMessage());
- }
+ ToscaConstraint c4 = new ToscaConstraint();
+ c4.setLessThan(HELLO);
+ JpaToscaConstraintLogical jc4 = new JpaToscaConstraintLogical(c4);
+ assertEquals(c4, jc4.toAuthorative());
- try {
- new JpaToscaConstraintLogical(JpaToscaConstraintOperation.EQ, null);
- fail("test should throw an exception");
- } catch (Exception exc) {
- assertEquals("compareTo is marked @NonNull but is null", exc.getMessage());
- }
+ ToscaConstraint c5 = new ToscaConstraint();
+ JpaToscaConstraintLogical jc5 = new JpaToscaConstraintLogical(c5);
+ assertNull(jc5.toAuthorative());
- assertNotNull(new JpaToscaConstraintLogical(JpaToscaConstraintOperation.EQ, "Constraint"));
+ assertThatThrownBy(() -> jc0.compareTo(null)).isInstanceOf(NullPointerException.class);
+ assertEquals(0, jc0.compareTo(jc0));
+ assertNotEquals(0, jc0.compareTo(new JpaToscaConstraintValidValues(new ArrayList<>())));
+ assertEquals(-2, jc0.compareTo(jc1));
}
}