Beispiel #1
0
        public void CanRemoveElementCustomNodeByNameWithNestedCategory()
        {
            var model = new SearchViewModel();

            model.Add("Peter", "Turnip.Greens", "A description", System.Guid.NewGuid());

            model.SearchAndUpdateResultsSync("Peter");
            Assert.AreEqual(1, model.SearchResults.Count);

            model.Remove("Peter");
            model.SearchAndUpdateResultsSync("Peter");

            Assert.AreEqual(0, model.SearchResults.Count);
        }
Beispiel #2
0
        /// <summary>
        /// Helper method for custom node adding and removing
        /// </summary>
        public void AssertAddAndRemoveCustomNode(SearchViewModel search, string nodeName, string catName, string descr = "Bla",
                                                 string path = "Bla")
        {
            var dummyInfo = new CustomNodeInfo(Guid.NewGuid(), nodeName, catName, descr, path);

            search.Add(dummyInfo);

            search.SearchAndUpdateResultsSync(nodeName);
            Assert.AreNotEqual(0, search.SearchResults.Count);
            Assert.AreEqual(search.SearchResults[0].Name, nodeName);
            Assert.IsTrue(search.ContainsCategory(catName));

            search.RemoveNodeAndEmptyParentCategory(nodeName);
            search.SearchAndUpdateResultsSync(nodeName);

            Assert.AreEqual(0, search.SearchResults.Count);
            Assert.IsFalse(search.ContainsCategory(catName));
        }
Beispiel #3
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
            _search.SearchAndUpdateResultsSync(newNodeName);

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

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

            Assert.AreEqual(node1.Guid, guid1);

            // search for old name
            _search.SearchAndUpdateResultsSync(nodeName);

            // results are correct
            Assert.AreEqual(0, _search.SearchResults.Count);
        }
Beispiel #4
0
        public void DoNotDuplicateAddedNodesInSearch()
        {
            const string catName  = "Category.Child.Thing.That";
            const string nodeName = "what is this";

            for (var i = 0; i < 100; i++)
            {
                _search.Add(nodeName, catName, "des", Guid.NewGuid());
            }
            _search.SearchAndUpdateResultsSync(nodeName);
            Assert.AreEqual(1, _search.SearchResults.Count);
            Assert.AreEqual(nodeName, _search.SearchResults[0].Name);
        }