예제 #1
0
        public void CheckParsePath()
        {
            List <PathComponent> components = new List <PathComponent>();

            PathComponentUtis.ParsePath("entry", components);
            Assert.AreEqual(1, components.Count);
            Assert.AreEqual("entry", components[0].name);
            Assert.AreEqual(0, components[0].index);

            components.Clear();
            PathComponentUtis.ParsePath("en-t.r_y", components);
            Assert.AreEqual(1, components.Count);
            Assert.AreEqual("en-t.r_y", components[0].name);
            Assert.AreEqual(0, components[0].index);

            components.Clear();
            PathComponentUtis.ParsePath("entry[2]", components);
            Assert.AreEqual(1, components.Count);
            Assert.AreEqual("entry", components[0].name);
            Assert.AreEqual(2, components[0].index);

            components.Clear();
            PathComponentUtis.ParsePath("entry01/entry02/entry03", components);
            Assert.AreEqual(3, components.Count);
            Assert.AreEqual("entry01", components[0].name);
            Assert.AreEqual(0, components[0].index);
            Assert.AreEqual("entry02", components[1].name);
            Assert.AreEqual(0, components[1].index);
            Assert.AreEqual("entry03", components[2].name);
            Assert.AreEqual(0, components[2].index);

            components.Clear();
            PathComponentUtis.ParsePath("entry01[5]/entry02[10]", components);
            Assert.AreEqual(2, components.Count);
            Assert.AreEqual("entry01", components[0].name);
            Assert.AreEqual(5, components[0].index);
            Assert.AreEqual("entry02", components[1].name);
            Assert.AreEqual(10, components[1].index);

            components.Clear();
            PathComponentUtis.ParsePath("../entry02[10]", components);
            Assert.AreEqual(2, components.Count);
            Assert.AreEqual("..", components[0].name);
            Assert.AreEqual(-1, components[0].index);
            Assert.AreEqual("entry02", components[1].name);
            Assert.AreEqual(10, components[1].index);
        }
예제 #2
0
        public void CheckParseIndex()
        {
            int i = 0;

            int index = PathComponentUtis.ParseIndex("[10]", ref i);

            Assert.AreEqual(10, index);
            Assert.AreEqual(4, i);

            i     = 1;
            index = PathComponentUtis.ParseIndex(" [20]", ref i);
            Assert.AreEqual(20, index);
            Assert.AreEqual(5, i);

            i     = 2;
            index = PathComponentUtis.ParseIndex("  [30]", ref i);
            Assert.AreEqual(30, index);
            Assert.AreEqual(6, i);
        }
예제 #3
0
        public void CheckValidName()
        {
            bool isValid = PathComponentUtis.ValidateName("isOk");

            Assert.IsTrue(isValid);

            isValid = PathComponentUtis.ValidateName("is_Ok");
            Assert.IsTrue(isValid);

            isValid = PathComponentUtis.ValidateName("is-Ok");
            Assert.IsTrue(isValid);

            isValid = PathComponentUtis.ValidateName("isOk1");
            Assert.IsTrue(isValid);

            isValid = PathComponentUtis.ValidateName("is.Ok1");
            Assert.IsTrue(isValid);

            isValid = PathComponentUtis.ValidateName("_isOk1");
            Assert.IsTrue(isValid);

            isValid = PathComponentUtis.ValidateName("isOk1Yes");
            Assert.IsTrue(isValid);

            isValid = PathComponentUtis.ValidateName("is*NotOk");
            Assert.IsFalse(isValid);

            isValid = PathComponentUtis.ValidateName("isNotOk/");
            Assert.IsFalse(isValid);

            isValid = PathComponentUtis.ValidateName("2isNotOk");
            Assert.IsFalse(isValid);

            isValid = PathComponentUtis.ValidateName("-isNotOk");
            Assert.IsFalse(isValid);

            isValid = PathComponentUtis.ValidateName(".isNotOk");
            Assert.IsFalse(isValid);
        }
예제 #4
0
        public void CheckParseName()
        {
            int i = 0;

            string name = PathComponentUtis.ParseName(".", ref i);

            Assert.AreEqual(".", name);

            i    = 0;
            name = PathComponentUtis.ParseName("..", ref i);
            Assert.AreEqual("..", name);

            i    = 0;
            name = PathComponentUtis.ParseName("aName", ref i);
            Assert.AreEqual("aName", name);

            i    = 0;
            name = PathComponentUtis.ParseName("aName2", ref i);
            Assert.AreEqual("aName2", name);

            i    = 0;
            name = PathComponentUtis.ParseName("aName-2", ref i);
            Assert.AreEqual("aName-2", name);

            i    = 0;
            name = PathComponentUtis.ParseName("aName[0]", ref i);
            Assert.AreEqual("aName", name);

            i    = 0;
            name = PathComponentUtis.ParseName("aName/other", ref i);
            Assert.AreEqual("aName", name);

            i    = 0;
            name = PathComponentUtis.ParseName("aName[0]/other", ref i);
            Assert.AreEqual("aName", name);
        }