package org.netbeans.gradle.project.tasks.vars; import org.junit.Test; import org.netbeans.gradle.project.api.task.TaskVariable; import static org.junit.Assert.*; public class TaskVariableTest { private static TaskVariable create(String name) { return new TaskVariable(name); } private static void testValidVariable(String name) { assertTrue(TaskVariable.isValidVariableName(name)); TaskVariable var = create(name); assertEquals(name, var.getVariableName()); assertEquals("${" + name + "}", var.getScriptReplaceConstant()); assertEquals(var, var); assertEquals(var, create(name)); } private static void testInvalidVariable(String name) { assertFalse(TaskVariable.isValidVariableName(name)); try { create(name); fail("Expected: IllegalArgumentException"); } catch (IllegalArgumentException ex) { } } @Test public void testValidVariable() { testValidVariable("."); testValidVariable("_"); testValidVariable("-"); testValidVariable("0"); testValidVariable("9"); testValidVariable("a"); testValidVariable("A"); testValidVariable("z"); testValidVariable("Z"); testValidVariable("m"); testValidVariable("K"); testValidVariable(".-_0123456789ABCDEFGHIJKLMNOPQSTUVWXYZabcdefghijklmnopqrstuvwxyz"); } @Test public void testInvalidVariable() { testInvalidVariable(""); testInvalidVariable("$"); testInvalidVariable("{"); testInvalidVariable("}"); testInvalidVariable("afegeg$efeffe"); } private static void assertNotEquals(Object value1, Object value2) { if (value1 != null) { assertFalse(value1.equals(value2)); } if (value2 != null) { assertFalse(value2.equals(value1)); } } @Test public void testNotEquals() { assertNotEquals(create("ABC"), null); assertNotEquals(create("ABC"), create("abc")); assertNotEquals(create("ABC"), "ABC"); } }