/* * Copyright 2015 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.rf.ide.core.testdata.text.read.recognizer.variables; import static org.assertj.core.api.Assertions.assertThat; import java.util.regex.Pattern; import org.junit.After; import org.junit.Test; import org.rf.ide.core.test.helpers.ClassFieldCleaner; import org.rf.ide.core.testdata.model.table.variables.AVariable.VariableType; import org.rf.ide.core.testdata.text.read.recognizer.ATokenRecognizer; @SuppressWarnings("PMD.MethodNamingConventions") public class AVariablesTokenRecognizerTest { private static final VariableType TYPE = VariableType.INVALID; @Test public void test_createVariablePattern() { Pattern p = AVariablesTokenRecognizer .createVariablePattern(VariableType.SCALAR); assertThat(p.toString()).isEqualTo( "[ ]?[" + VariableType.SCALAR.getIdentificator() + "]" + "(\\s*)[{].*([}]$|$)"); } @Test public void test_getProduceType() { ATokenRecognizer rec = new DummyTokenRecognizer(); // execute & verify assertThat(rec.getProducedType()).isEqualTo(TYPE.getType()); } @Test public void test_newInstance_shouldReturn_twoDifferentInstances() { ATokenRecognizer rec = new DummyTokenRecognizer(); assertThat(rec.newInstance()).isNotSameAs(rec.newInstance()); } @Test public void test_getPattern() { // prepare ATokenRecognizer rec = new DummyTokenRecognizer(); // execute & verify assertThat(rec.getPattern().toString()) .isEqualTo( "[ ]?[" + TYPE.getIdentificator() + "]" + "(\\s*)[{].*([}]$|$)"); } @After public void tearDown() throws Exception { ClassFieldCleaner.init(this); } private static class DummyTokenRecognizer extends AVariablesTokenRecognizer { public DummyTokenRecognizer() { super(TYPE); } @Override public ATokenRecognizer newInstance() { return new DummyTokenRecognizer(); } } }