public void Constructor_NullAsTreeProvider_ThrowsArgumentNull()
        {
            var projectTreeService = new Lazy <IProjectTreeService>(() => IProjectTreeServiceFactory.Create());
            var projectTreeStorage = new Lazy <IPhysicalProjectTreeStorage>(() => IPhysicalProjectTreeStorageFactory.Create());

            Assert.Throws <ArgumentNullException>("treeProvider", () => {
                new PhysicalProjectTree(projectTreeService, (Lazy <IProjectTreeProvider>)null, projectTreeStorage);
            });
        }
Example #2
0
        public void Constructor_WhenTreeServiceCurrentTreeIsNull_SetsCurrentTreeToNull()
        {
            var projectTreeService  = new Lazy <IProjectTreeService>(() => IProjectTreeServiceFactory.ImplementCurrentTree(() => null));
            var projectTreeProvider = new Lazy <IProjectTreeProvider>(() => IProjectTreeProviderFactory.Create());
            var projectTreeStorage  = new Lazy <IPhysicalProjectTreeStorage>(() => IPhysicalProjectTreeStorageFactory.Create());

            var projectTree = new PhysicalProjectTree(projectTreeService, projectTreeProvider, projectTreeStorage);

            Assert.Null(projectTree.CurrentTree);
        }
Example #3
0
        public void Constructor_ValueAsTreeStorage_SetTreeStorageProperty()
        {
            var projectTreeService  = new Lazy <IProjectTreeService>(() => IProjectTreeServiceFactory.Create());
            var projectTreeProvider = new Lazy <IProjectTreeProvider>(() => IProjectTreeProviderFactory.Create());
            var projectTreeStorage  = new Lazy <IPhysicalProjectTreeStorage>(() => IPhysicalProjectTreeStorageFactory.Create());

            var projectTree = new PhysicalProjectTree(projectTreeService, projectTreeProvider, projectTreeStorage);

            Assert.Same(projectTreeStorage.Value, projectTree.TreeStorage);
        }
        public static IPhysicalProjectTree Create(IProjectTreeProvider?provider = null, IProjectTree?currentTree = null, IProjectTreeService?service = null, IPhysicalProjectTreeStorage?storage = null)
        {
            currentTree ??= ProjectTreeParser.Parse("Project");
            provider ??= new ProjectTreeProvider();
            storage ??= IPhysicalProjectTreeStorageFactory.Create();
            service ??= IProjectTreeServiceFactory.Create(currentTree, provider);

            var mock = new Mock <IPhysicalProjectTree>();

            mock.Setup(t => t.TreeProvider)
            .Returns(provider);

            mock.Setup(t => t.CurrentTree)
            .Returns(currentTree);

            mock.Setup(t => t.TreeService)
            .Returns(service);

            mock.Setup(t => t.TreeStorage)
            .Returns(storage);

            return(mock.Object);
        }
Example #5
0
        public void Constructor_ValueAsTreeService_SetsCurrentTreeToTreeServiceCurrentTreeTree()
        {
            var tree = ProjectTreeParser.Parse(@"
Root (flags: {ProjectRoot})
");

            var projectTreeServiceState = IProjectTreeServiceStateFactory.ImplementTree(() => tree);
            var projectTreeService      = new Lazy <IProjectTreeService>(() => IProjectTreeServiceFactory.ImplementCurrentTree(() => projectTreeServiceState));
            var projectTreeProvider     = new Lazy <IProjectTreeProvider>(() => IProjectTreeProviderFactory.Create());
            var projectTreeStorage      = new Lazy <IPhysicalProjectTreeStorage>(() => IPhysicalProjectTreeStorageFactory.Create());

            var projectTree = new PhysicalProjectTree(projectTreeService, projectTreeProvider, projectTreeStorage);

            Assert.Same(tree, projectTree.CurrentTree);
        }