コード例 #1
0
        public void TestFindPath()
        {
            //arrange
            var childVersion = new Mock <IExplorerItemViewModel>();

            childVersion.SetupGet(it => it.IsVisible).Returns(true);
            childVersion.SetupGet(it => it.ResourceType).Returns("Version");
            var childMessage = new Mock <IExplorerItemViewModel>();

            childMessage.SetupGet(it => it.IsVisible).Returns(true);
            childMessage.SetupGet(it => it.ResourceType).Returns("Message");
            var childFolder = new Mock <IExplorerItemViewModel>();

            childFolder.SetupGet(it => it.IsVisible).Returns(true);
            childFolder.SetupGet(it => it.ResourceType).Returns("Folder");
            childFolder.SetupGet(it => it.IsFolder).Returns(true);
            childFolder.SetupGet(it => it.ChildrenCount).Returns(2);
            var childDbService = new Mock <IExplorerItemViewModel>();

            childDbService.SetupGet(it => it.IsVisible).Returns(true);
            childDbService.SetupGet(it => it.ResourceName).Returns("DbSource");
            childDbService.SetupGet(it => it.ResourcePath).Returns("DbSourcePath");
            childDbService.SetupGet(it => it.IsSource).Returns(true);
            _target.Children = new ObservableCollection <IExplorerItemViewModel>()
            {
                childVersion.Object,
                childMessage.Object,
                childFolder.Object,
                childDbService.Object
            };

            //act
            _target.IsSource          = true;
            _target.IsService         = false;
            _target.IsFolder          = false;
            _target.IsReservedService = false;
            _target.IsResourceVersion = false;
            _target.IsServer          = false;
            _target.ResourcePath      = "";
            _target.ResourceName      = "localhost";

            _target.UpdateChildrenCount();
            var value = _target.FindByPath("DbSource");

            //assert
            Assert.AreEqual(_target, value);
        }