public void IsFileNameValid() { void Template(string path, bool result, IEnumerable <char> more = null) { Assert.IsTrue(StringEscaper.IsFileNameValid(path, more) == result); } Template(@"notepad.exe", true); Template(@"\notepad.exe", false); Template(@"C:\notepad.exe", false); Template(@"AB?C", false); Template(@"\AB?C", false); Template(@"Z:\AB?C", false); Template(@"A[BC", true); Template(@"\A[BC", false); Template(@"E:\A[BC", false); Template(@"A[BC", false, new char[] { '[' }); Template(@"\A[BC", false, new char[] { '[' }); Template(@"A:\A[BC", false, new char[] { '[' }); }