/* * Copyright (C) 2015 Orange * * This software is distributed under the terms and conditions of the 'GNU GENERAL PUBLIC LICENSE * Version 2' license which can be found in the file 'LICENSE.txt' in this package distribution or * at 'http://www.gnu.org/licenses/gpl-2.0-standalone.html'. */ package com.orange.cepheus.broker; import com.orange.ngsi.model.EntityId; import org.junit.Test; import org.junit.runner.RunWith; import java.util.function.Predicate; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import static org.junit.Assert.*; /** * Tests for Patterns management */ public class PatternsTest { @Test public void hasTypeNullTest() { EntityId entityId = new EntityId(); assertFalse(new Patterns().hasType(entityId)); } @Test public void hasTypeEmptyTest() { EntityId entityId = new EntityId(); entityId.setType(""); assertFalse(new Patterns().hasType(entityId)); } @Test public void hasTypeOKTest() { EntityId entityId = new EntityId(); entityId.setType("temp"); assertTrue(new Patterns().hasType(entityId)); } @Test public void getPatternNullTest() { EntityId entityId = new EntityId("A", "string", false); assertNull(new Patterns().getPattern(entityId)); } @Test public void getPatternTest() { EntityId entityId = new EntityId("A*", "string", true); assertNotNull(new Patterns().getPattern(entityId)); } @Test public void getPatternWtihSamePatternTest() { EntityId entityId = new EntityId("A*", "string", true); Patterns patterns = new Patterns(); Pattern pattern = patterns.getPattern(entityId); assertEquals(pattern, patterns.getPattern(entityId)); } @Test public void getPatternWtihNotSamePatternTest() { EntityId entityId = new EntityId("A*", "string", true); EntityId entityId2 = new EntityId("B*", "string", true); Patterns patterns = new Patterns(); Pattern pattern = patterns.getPattern(entityId); assertNotEquals(pattern, patterns.getPattern(entityId2)); } @Test(expected = PatternSyntaxException.class) public void getPatternThrowPatternSyntaxExceptionTest() { EntityId entityId = new EntityId("]|,\\((", "string", true); Patterns patterns = new Patterns(); patterns.getPattern(entityId); } @Test public void getFilterEntityIdEqualWithNoPatternTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("A", "string", false); EntityId entityIdsearch = new EntityId("A", "string", false); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertTrue(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdNotEqualWithNoPatternTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("A", "string", false); EntityId entityIdsearch = new EntityId("B", "string", false); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertFalse(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdEqualWithPatternTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("A*", "string", true); EntityId entityIdsearch = new EntityId("A*", "string", true); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertTrue(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdNotEqualWithPatternTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("A*", "string", true); EntityId entityIdsearch = new EntityId("B*", "string", true); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertFalse(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdNotEqualWithOnePatternTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("A|B", "string", true); EntityId entityIdsearch = new EntityId("A", "string", false); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertTrue(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdNotEqualWithOnePattern2Test() { EntityId entityIdRegisterOrSubscribe = new EntityId("A", "string", false); EntityId entityIdsearch = new EntityId("A|B", "string", true); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertTrue(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdNotEqualWithOnePatternFalseTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("A|B", "string", true); EntityId entityIdsearch = new EntityId("C", "string", false); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertFalse(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdNotEqualWithOnePattern2FalseTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("C", "string", false); EntityId entityIdsearch = new EntityId("A|B", "string", true); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertFalse(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdWithNoTypeTest() { EntityId entityIdRegisterOrSubscribe = new EntityId("B", "", false); EntityId entityIdsearch = new EntityId("A|B", "string", true); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertFalse(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdWithNoType2Test() { EntityId entityIdRegisterOrSubscribe = new EntityId("B", "string", false); EntityId entityIdsearch = new EntityId("A|B", "", true); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertFalse(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } @Test public void getFilterEntityIdWithNoEqualType2Test() { EntityId entityIdRegisterOrSubscribe = new EntityId("B", "string", false); EntityId entityIdsearch = new EntityId("A|B", "long", true); Patterns patterns = new Patterns(); Predicate<EntityId> entityIdPredicate = patterns.getFilterEntityId(entityIdsearch); assertFalse(entityIdPredicate.test(entityIdRegisterOrSubscribe)); } }