Example #1
0
        public void DatabaseObjectsGraph_Basic()
        {
            Assert.That(_g.ObjectsCount, Is.EqualTo(5));

            var result = _g.GetDependencies(_D1, DependencyDirection.Downstream, DependencyLevel.DirectOnly);

            Assert.That(result.Count, Is.EqualTo(3));
            Assert.IsNotNull(FindObject(result, "T1"));
            Assert.IsNotNull(FindObject(result, "T2"));
            Assert.IsNotNull(FindObject(result, "S1"));

            result = _g.GetDependencies(_D1, DependencyDirection.Downstream, DependencyLevel.Everything);
            Assert.That(result.Count, Is.EqualTo(4));
            Assert.IsNotNull(FindObject(result, "T1"));
            Assert.IsNotNull(FindObject(result, "T2"));
            Assert.IsNotNull(FindObject(result, "S1"));
            Assert.IsNotNull(FindObject(result, "C1"));

            result = _g.GetDependencies(_T1, DependencyDirection.Downstream, DependencyLevel.Everything);
            Assert.That(result.Count, Is.EqualTo(1));
            Assert.IsNotNull(FindObject(result, "C1"));

            result = _g.GetDependencies(_C1, DependencyDirection.Upstream, DependencyLevel.DirectOnly);
            Assert.That(result.Count, Is.EqualTo(1));
            Assert.IsNotNull(FindObject(result, "T1"));

            result = _g.GetDependencies(_C1, DependencyDirection.Upstream, DependencyLevel.Everything);
            Assert.That(result.Count, Is.EqualTo(2));
            Assert.IsNotNull(FindObject(result, "T1"));
            Assert.IsNotNull(FindObject(result, "D1"));

            result = _g.GetDependencies(_D1, DependencyDirection.Upstream, DependencyLevel.Everything);
            Assert.That(result.Count, Is.EqualTo(0));
        }
Example #2
0
        public IList <ViewModels.DatabaseObject> Get(int objectId, DependencyDirection direction, DependencyLevel level, DatabaseObjectType?objectsType = null)
        {
            var items = _graph.GetDependencies(objectId, direction, level, objectsType);

            return(Mapper.Map <List <ViewModels.DatabaseObject> >(items));
        }