package org.kefirsf.bb.conf; import org.junit.Assert; import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Tests for code * * @author Vitalii Samolovskikh aka Kefir */ public class CodeTest { private static final String CODE_NAME = "test code"; @Test public void testConstructor1() { Code code = new Code(); Assert.assertNotNull(code.getName()); Assert.assertEquals(Code.DEFAULT_PRIORITY, code.getPriority()); Assert.assertNull(code.getPattern()); Assert.assertNull(code.getTemplate()); } @Test public void testConstructor2() { Code code = new Code(CODE_NAME); Assert.assertEquals(CODE_NAME, code.getName()); Assert.assertEquals(Code.DEFAULT_PRIORITY, code.getPriority()); Assert.assertNull(code.getPattern()); Assert.assertNull(code.getTemplate()); } @Test public void testConstructor3() { Pattern pattern = createPattern(); Template template = createTemplate(); Code code = new Code(pattern, template, CODE_NAME, 1); Assert.assertEquals(CODE_NAME, code.getName()); Assert.assertEquals(1, code.getPriority()); Assert.assertEquals(pattern, code.getPattern()); Assert.assertEquals(template, code.getTemplate()); } @Test public void testName() { Code code = new Code(); code.setName(CODE_NAME); Assert.assertEquals(CODE_NAME, code.getName()); } @Test public void testPriority() { Code code = new Code(); code.setPriority(3); Assert.assertEquals(3, code.getPriority()); } @Test public void testPattern() { Code code = new Code(); Pattern pattern = createPattern(); code.setPattern(pattern); Assert.assertEquals(pattern, code.getPattern()); } @Test public void testPatterns() { Code code = new Code(); List<Pattern> patterns = new ArrayList<Pattern >(); patterns.add(new Pattern(Arrays.asList(new Constant("1")))); patterns.add(new Pattern(Arrays.asList(new Constant("2")))); code.setPatterns(patterns); Assert.assertArrayEquals(patterns.toArray(), code.getPatterns().toArray()); Pattern pattern = new Pattern(Arrays.asList(new Constant("3"))); code.addPattern(pattern); Assert.assertEquals(pattern, code.getPatterns().get(2)); } @Test public void testTemplate() { Code code = new Code(); Template template = createTemplate(); code.setTemplate(template); Assert.assertEquals(template, code.getTemplate()); } private Template createTemplate() { return new Template(Arrays.asList(new Constant("test"))); } private Pattern createPattern() { return new Pattern(Arrays.asList(new Constant("test"))); } }