public void ParseOPathTest() { var OPathstring = "a/f[c= \"d\"]/g/b[c =\"d/d_d d\"]/e"; var OPathSegments = OverwriteUtility.ParseOPath(OPathstring); Assert.Equal(5, OPathSegments.Count); Assert.Equal("a,f,g,b,e", OPathSegments.Select(o => o.SegmentName).Aggregate((a, b) => a + "," + b)); Assert.Equal("c", OPathSegments[1].Key); Assert.Equal("d", OPathSegments[1].Value); Assert.Equal("d/d_d d", OPathSegments[3].Value); }
public void ParseInvalidOPathsTest(string OPathString) { var ex = Assert.Throws <ArgumentException>(() => OverwriteUtility.ParseOPath(OPathString)); Assert.Equal($"{OPathString} is not a valid OPath", ex.Message); }