예제 #1
0
        public void CanRefactorCustomNodeName()
        {
            var nodeName   = "TheNoodle";
            var catName    = "TheCat";
            var descr      = "TheCat";
            var path       = @"C:\turtle\graphics.dyn";
            var guid1      = Guid.NewGuid();
            var dummyInfo1 = new CustomNodeInfo(guid1, nodeName, catName, descr, path);

            search.Add(dummyInfo1);

            Assert.AreEqual(1, search.SearchDictionary.NumElements);

            var newNodeName = "TheTurtle";
            var newInfo     = new CustomNodeInfo(guid1, newNodeName, catName, descr, path);

            search.Refactor(newInfo);

            Assert.AreEqual(1, search.SearchDictionary.NumElements);

            // search for new name
            var results = search.Search(newNodeName).ToList();

            // results are correct
            Assert.AreEqual(1, results.Count());
            var res1 = results[0];

            Assert.IsAssignableFrom(typeof(CustomNodeSearchElement), res1);
            var node1 = res1 as CustomNodeSearchElement;

            Assert.AreEqual(node1.Guid, guid1);

            // search for old name
            var results1 = search.Search(nodeName);

            // results are correct
            Assert.AreEqual(0, results1.Count());
        }