public void IsPrefixMatch_Hits() { // Arrange var tests = new[] { new { Prefix = "", TestString = "SomeTestString", Reason = "Empty prefix should match any non-null test string." }, new { Prefix = "SomeString", TestString = "SomeString", Reason = "This was an exact match." }, new { Prefix = "Foo", TestString = "foo.bar", Reason = "Prefix 'foo' matched." }, new { Prefix = "Foo", TestString = "foo[bar]", Reason = "Prefix 'foo' matched." }, }; // Act & assert foreach (var test in tests) { bool retVal = ValueProviderUtil.IsPrefixMatch(test.Prefix, test.TestString); Assert.True(retVal, test.Reason); } }
public void IsPrefixMatch_Misses() { // Arrange var tests = new[] { new { Prefix = "Prefix", TestString = (string)null, Reason = "Null test string shouldn't match anything." }, new { Prefix = "Foo", TestString = "NotFoo", Reason = "Prefix 'foo' doesn't match 'notfoo'." }, new { Prefix = "Foo", TestString = "FooBar", Reason = "Prefix 'foo' was not followed by a delimiter in the test string." } }; // Act & assert foreach (var test in tests) { bool retVal = ValueProviderUtil.IsPrefixMatch(test.Prefix, test.TestString); Assert.False(retVal, test.Reason); } }
public void CollectionContainsPrefix_EmptyCollectionReturnsFalse() { // Arrange string[] collection = new string[0]; // Act bool retVal = ValueProviderUtil.CollectionContainsPrefix(collection, ""); // Assert Assert.False(retVal); }
public void CollectionContainsPrefix_NonEmptyCollectionReturnsTrueIfPrefixIsEmptyString() { // Arrange string[] collection = new string[] { "Hello" }; // Act bool retVal = ValueProviderUtil.CollectionContainsPrefix(collection, ""); // Assert Assert.True(retVal); }
public void CollectionContainsPrefix_MatchIsNotSimpleSubstringMatch() { // Arrange string[] collection = new string[] { "Hello" }; // Act bool retVal = ValueProviderUtil.CollectionContainsPrefix(collection, "He"); // Assert Assert.False(retVal); }
public void CollectionContainsPrefix_MatchIsCaseInsensitive() { // Arrange string[] collection = new string[] { "Hello" }; // Act bool retVal = ValueProviderUtil.CollectionContainsPrefix(collection, "hello"); // Assert Assert.True(retVal); }
public void CollectionContainsPrefix_ExactMatch() { // Arrange string[] collection = new string[] { "Hello" }; // Act bool retVal = ValueProviderUtil.CollectionContainsPrefix(collection, "Hello"); // Assert Assert.True(retVal); }
public void CollectionContainsPrefix_PrefixBoundaries() { // Arrange string[] collection = new string[] { "Hello.There[0]" }; // Act bool retVal1 = ValueProviderUtil.CollectionContainsPrefix(collection, "hello"); bool retVal2 = ValueProviderUtil.CollectionContainsPrefix(collection, "hello.there"); // Assert Assert.IsTrue(retVal1); Assert.IsTrue(retVal2); }
public void GetPrefixes() { // Arrange string key = "foo.bar[baz].quux"; string[] expected = new string[] { "foo.bar[baz].quux", "foo.bar[baz]", "foo.bar", "foo" }; // Act List <string> result = ValueProviderUtil.GetPrefixes(key).ToList(); // Assert CollectionAssert.AreEquivalent(expected, result); }
public void IsPrefixMatch() { // Arrange var tests = new[] { new { Prefix = "Prefix", TestString = (string)null, ExpectedResult = false, Reason = "Null test string shouldn't match anything." }, new { Prefix = "", TestString = "SomeTestString", ExpectedResult = true, Reason = "Empty prefix should match any non-null test string." }, new { Prefix = "SomeString", TestString = "SomeString", ExpectedResult = true, Reason = "This was an exact match." }, new { Prefix = "Foo", TestString = "NotFoo", ExpectedResult = false, Reason = "Prefix 'foo' doesn't match 'notfoo'." }, new { Prefix = "Foo", TestString = "foo.bar", ExpectedResult = true, Reason = "Prefix 'foo' matched." }, new { Prefix = "Foo", TestString = "foo[bar]", ExpectedResult = true, Reason = "Prefix 'foo' matched." }, new { Prefix = "Foo", TestString = "FooBar", ExpectedResult = false, Reason = "Prefix 'foo' was not followed by a delimiter in the test string." } }; // Act & assert foreach (var test in tests) { bool retVal = ValueProviderUtil.IsPrefixMatch(test.Prefix, test.TestString); Assert.AreEqual(test.ExpectedResult, retVal, test.Reason); } }