### Question:
PathUtil { public static String strategyPath(String strategyName) { strategyName = StringUtils.strip(strategyName, "/"); Preconditions.checkArgument(StringUtils.isNotEmpty(strategyName), "Strategy name can not be empty."); Preconditions.checkArgument(StringUtils.containsNone(strategyName, "/"), "Strategy name can not contain separator."); Preconditions.checkArgument(StringUtils.countMatches(strategyName, "$") <= 1, "Strategy name can not contain more than one '$'."); return strategyBasePath() + "/" + strategyName; }  static String taskBasePath(); static String strategyBasePath(); static String factoryBasePath(); static String taskPath(String taskName); static String strategyPath(String strategyName); static String factoryPath(String factoryUUID); static String factoryForStrategyPath(String strategyName, String factoryUUID); static String runningEntryPath(String taskName, String ownSign); static String taskItemBasePath(String taskName, String ownSign); static String taskItemPath(String taskName, String ownSign, String taskItem); static String serverBasePath(String taskName, String ownSign); static String serverPath(String taskName, String ownSign, String serverName);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void strategyPathIllegal1() { PathUtil.strategyPath("as$d$f"); }
@Test public void strategyPath() { assertEquals("/strategy/as$d", PathUtil.strategyPath("as$d")); }