/// <summary>
 ///     Speichert die Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Save(SummitGroup summitGroup)
 {
     GraphClient.Cypher.Match("".SummitGroup("sg"))
     .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
     .Set("sg.Name={Name}").WithParam("Name", summitGroup.Name)
     .ExecuteWithoutResults();
 }
        public void TestCreateRouteInSummitGroup()
        {
            ICountryDao countryDao = new CountryDao(_graphClient);
            Country     newCountry = new Country {
                Name = "Deutschland"
            };

            countryDao.Create(newCountry);

            IAreaDao areaDao = new AreaDao(_graphClient);
            Area     area    = new Area();

            areaDao.Create(newCountry, area);

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            SummitGroup     summitGroup    = new SummitGroup {
                Name = "Gipfelgruppe"
            };

            summitGroupDao.Create(area, summitGroup);

            IRoutesDao routeDao = new RouteDao(_graphClient);
            Route      newRoute = new Route {
                Name = "Jakobsweg"
            };

            routeDao.CreateIn(summitGroup, newRoute);

            IList <Route> allRoutes = _graphClient.Cypher.Match("(route:Route)")
                                      .Return(route => route.As <Route>())
                                      .Results.ToList();

            Assert.AreEqual(1, allRoutes.Count);
        }
        public void TestGetRoutesInSummitGroup()
        {
            ICountryDao countryDao = new CountryDao(_graphClient);
            Country     country    = new Country {
                Name = "Deutschland"
            };

            countryDao.Create(country);

            IAreaDao areaDao = new AreaDao(_graphClient);
            Area     area    = new Area();

            areaDao.Create(country, area);

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            SummitGroup     summitGroup    = new SummitGroup {
                Name = "Gipfelgruppe"
            };

            summitGroupDao.Create(area, summitGroup);

            IRoutesDao routeDao = new RouteDao(_graphClient);
            Route      created  = routeDao.CreateIn(summitGroup, new Route {
                Name = "Jakobsweg"
            });

            IList <Route> routesInArea = routeDao.GetRoutesIn(summitGroup);

            Assert.AreEqual(1, routesInArea.Count);
            Assert.AreEqual("Jakobsweg", routesInArea.First().Name);
            Assert.AreEqual(created.Name, routesInArea.First().Name);
        }
 public Route CreateRouteInSummitGroup(string name = "Route in Gipfelgruppe", SummitGroup summitGroup = null)
 {
     //if (summitGroup == null)
     //{
     //    summitGroup = CreateSummitGroup();
     //}
     return new RouteDao(_graphClient).CreateIn(summitGroup, GetRouteWithName(name));
 }
Exemple #5
0
 public Route CreateRouteInSummitGroup(string name = "Route in Gipfelgruppe", SummitGroup summitGroup = null)
 {
     //if (summitGroup == null)
     //{
     //    summitGroup = CreateSummitGroup();
     //}
     return(new RouteDao(_graphClient).CreateIn(summitGroup, GetRouteWithName(name)));
 }
 /// <summary>
 ///     Speichert die Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Save(SummitGroup summitGroup)
 {
     if (summitGroup == null)
     {
         throw new ArgumentNullException(nameof(summitGroup));
     }
     _summitGroupDao.Save(summitGroup);
 }
Exemple #7
0
 /// <summary>
 ///     Liefert alle Routen direkt in der Gipfelgruppe, nicht jedoch die der Einzelnen Gipfel
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <returns></returns>
 public IList <Route> GetRoutesIn(SummitGroup summitGroup)
 {
     return
         (GraphClient.Cypher.Match("".SummitGroup("sg").Has().Route("r"))
          .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
          .Return(r => r.As <Route>())
          .Results.ToList());
 }
 /// <summary>
 ///     Liefert alle Routen einer Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <returns></returns>
 public IList <Route> GetRoutesIn(SummitGroup summitGroup)
 {
     if (summitGroup == null)
     {
         throw new ArgumentNullException(nameof(summitGroup));
     }
     return(_routesDao.GetRoutesIn(summitGroup).OrderBy(x => x.Name).ToList());
 }
        public void TestIsNotInUse()
        {
            SummitGroup summitGroup = _dataGenerator.CreateSummitGroup();

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            bool            isInUse        = summitGroupDao.IsInUse(summitGroup);

            Assert.IsFalse(isInUse);
        }
 /// <summary>
 ///     Löscht eine Gipfelgruppe wenn diese nicht mehr verwendet wird
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Delete(SummitGroup summitGroup)
 {
     if (summitGroup == null) throw new ArgumentNullException(nameof(summitGroup));
     if (_summitGroupDao.IsInUse(summitGroup))
     {
         throw new NodeInUseException();
     }
     _summitGroupDao.Delete(summitGroup);
 }
        public void TestDeleteInUse()
        {
            SummitGroup summitGroup = _dataGenerator.CreateSummitGroup();
            Route       route       = _dataGenerator.CreateRouteInSummitGroup(summitGroup: summitGroup);

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            Action          action         = () => summitGroupDao.Delete(summitGroup);

            action.ShouldThrow <NodeInUseException>();
        }
Exemple #12
0
        /// <summary>
        ///     Erstellt einen neuen Gipfel in einer Gipfelgruppe
        /// </summary>
        public Summit Create(SummitGroup summitGroup, Summit summit)
        {
            var query = GraphClient.Cypher
                .Match("".SummitGroup("sg"))
                .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
                .Create("sg".Has().SummitWithParam())
                .WithParam("summit", summit);

            return query.Return(s=>s.As<Summit>()).Results.First();
        }
        /// <summary>
        ///     Erstellt eine neue Gipfelgruppe in einer Gegend
        /// </summary>
        /// <param name="area"></param>
        /// <param name="summitGroup"></param>
        public SummitGroup Create(Area area, SummitGroup summitGroup)
        {
            ICypherFluentQuery query = GraphClient.Cypher
                .Match("".Area("a"))
                .Where((Area a) => a.Id == area.Id)
                .Create("a".Has().SummitGroupWithParam())
                .WithParam("summitGroup", summitGroup);

            return query.Return(sg => sg.As<SummitGroup>()).Results.First();
        }
 /// <summary>
 ///     Liefert ob eine Gipfelgruppe noch verwendet wird
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <returns></returns>
 public bool IsInUse(SummitGroup summitGroup)
 {
     var countResult = GraphClient.Cypher.Match("".SummitGroup("sg"))
         .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
         .OptionalMatch("".Node("sg").AnyOutboundRelationAs("usageOnRoute").Route())
         .OptionalMatch("".Node("sg").AnyOutboundRelationAs("usageOnSummit").Summit())
         .Return((usageOnRoute, usageOnSummit) => new {RouteCountUsageCount = usageOnRoute.Count(),
             SummitUsageCount =usageOnSummit.Count()}).Results.First();
     return countResult.RouteCountUsageCount > 0 || countResult.SummitUsageCount > 0;
 }
 public Summit CreateSummit(string name = "Gipfel", SummitGroup summitGroup = null)
 {
     if (summitGroup == null)
     {
         summitGroup = CreateSummitGroup();
     }
     SummitDao summitDao = new SummitDao(_graphClient);
     Summit newSummit = new Summit() { Name = name };
     return summitDao.Create(summitGroup, newSummit);
 }
Exemple #16
0
        /// <summary>
        ///     Erstellt eine neue Route in einer Gipfelgruppe
        /// </summary>
        /// <param name="summitGroup"></param>
        /// <param name="route"></param>
        public Route CreateIn(SummitGroup summitGroup, Route route)
        {
            var query = GraphClient.Cypher
                        .Match("".SummitGroup("sg"))
                        .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
                        .Create("".Node("sg").Has().RouteWithParam())
                        .WithParam("route", route);

            return(query.Return(r => r.As <Route>()).Results.First());
        }
        /// <summary>
        ///     Erstellt eine neue Gipfelgruppe in einer Gegend
        /// </summary>
        /// <param name="area"></param>
        /// <param name="summitGroup"></param>
        public SummitGroup Create(Area area, SummitGroup summitGroup)
        {
            ICypherFluentQuery query = GraphClient.Cypher
                                       .Match("".Area("a"))
                                       .Where((Area a) => a.Id == area.Id)
                                       .Create("a".Has().SummitGroupWithParam())
                                       .WithParam("summitGroup", summitGroup);

            return(query.Return(sg => sg.As <SummitGroup>()).Results.First());
        }
Exemple #18
0
        public void TestIsInUseBySummitGroup()
        {
            Area        area        = _dataGenerator.CreateArea();
            SummitGroup summitGroup = _dataGenerator.CreateSummitGroup(area: area);

            IAreaDao areaDao = new AreaDao(_graphClient);
            bool     isInUse = areaDao.IsInUse(area);

            Assert.IsTrue(isInUse);
        }
Exemple #19
0
        /// <summary>
        ///     Erstellt einen neuen Gipfel in einer Gipfelgruppe
        /// </summary>
        public Summit Create(SummitGroup summitGroup, Summit summit)
        {
            var query = GraphClient.Cypher
                        .Match("".SummitGroup("sg"))
                        .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
                        .Create("sg".Has().SummitWithParam())
                        .WithParam("summit", summit);

            return(query.Return(s => s.As <Summit>()).Results.First());
        }
 public SummitGroup CreateSummitGroup(string name = "Gipfelgruppe", Area area = null)
 {
     if (area == null)
     {
         area = CreateArea();
     }
     SummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
     SummitGroup newSummitGroup = new SummitGroup() { Name = name };
     return summitGroupDao.Create(area, newSummitGroup);
 }
        public void TestIsInUseByRoute()
        {
            SummitGroup summitGroup = _dataGenerator.CreateSummitGroup();
            Route       route       = _dataGenerator.CreateRouteInSummitGroup(summitGroup: summitGroup);

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            bool            isInUse        = summitGroupDao.IsInUse(summitGroup);

            Assert.IsTrue(isInUse);
        }
        public void TestCreateMissingName(bool useGroup, string name)
        {
            SummitGroup fakeGroup = null;
            if (useGroup)
            {
                fakeGroup = new SummitGroup();
            }

            Action act = ()=>new SummitService(null).Create(fakeGroup, name);
            act.ShouldThrow<ArgumentNullException>();
        }
        /// <summary>
        ///     Liefert ob eine Gipfelgruppe noch verwendet wird
        /// </summary>
        /// <param name="summitGroup"></param>
        /// <returns></returns>
        public bool IsInUse(SummitGroup summitGroup)
        {
            var countResult = GraphClient.Cypher.Match("".SummitGroup("sg"))
                              .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
                              .OptionalMatch("".Node("sg").AnyOutboundRelationAs("usageOnRoute").Route())
                              .OptionalMatch("".Node("sg").AnyOutboundRelationAs("usageOnSummit").Summit())
                              .Return((usageOnRoute, usageOnSummit) => new { RouteCountUsageCount = usageOnRoute.Count(),
                                                                             SummitUsageCount     = usageOnSummit.Count() }).Results.First();

            return(countResult.RouteCountUsageCount > 0 || countResult.SummitUsageCount > 0);
        }
Exemple #24
0
        public void TestDeleteUnused()
        {
            SummitGroup summitGroup = _dataGenerator.CreateSummitGroup();
            Summit      summit      = _dataGenerator.CreateSummit(summitGroup: summitGroup);

            ISummitDao summitDao = new SummitDao(_graphClient);

            summitDao.Delete(summit);

            Assert.AreEqual(0, summitDao.GetAllIn(summitGroup).Count);
        }
 /// <summary>
 ///     Löscht eine Gipfelgruppen wenn diese nicht mehr verwendet wird
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Delete(SummitGroup summitGroup)
 {
     if (summitGroup == null) throw new ArgumentNullException(nameof(summitGroup));
     if (IsInUse(summitGroup))
     {
         throw new NodeInUseException();
     }
     GraphClient.Cypher.Match("".Area().AnyOutboundRelationAs("usage").SummitGroup("sg"))
         .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
         .Delete("sg, usage").ExecuteWithoutResults();
 }
        public void TestDeleteNotInUse()
        {
            Area        area        = _dataGenerator.CreateArea();
            SummitGroup summitGroup = _dataGenerator.CreateSummitGroup(area: area);

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);

            summitGroupDao.Delete(summitGroup);

            Assert.AreEqual(0, summitGroupDao.GetAllIn(area).Count);
        }
 /// <summary>
 ///     Löscht eine Gipfelgruppe wenn diese nicht mehr verwendet wird
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Delete(SummitGroup summitGroup)
 {
     if (summitGroup == null)
     {
         throw new ArgumentNullException(nameof(summitGroup));
     }
     if (_summitGroupDao.IsInUse(summitGroup))
     {
         throw new NodeInUseException();
     }
     _summitGroupDao.Delete(summitGroup);
 }
        public void TestCreateRouteInSummitGroup()
        {
            SummitGroup fakeGroup = new SummitGroup();

            Mock<IRoutesDao> routeDaoMock = new Mock<IRoutesDao>();
            routeDaoMock.Setup(x => x.CreateIn(It.IsAny<SummitGroup>(), It.IsAny<Route>()));

            IRouteService routeService = new RouteService(routeDaoMock.Object);
            routeService.CreateIn(fakeGroup, "Route");

            routeDaoMock.Verify(x => x.CreateIn(fakeGroup, It.Is<Route>(y => y.Name == "Route")));
        }
        public void TestIsInUse()
        {
            Mock<ISummitGroupDao> summitGroupDaoMock = new Mock<ISummitGroupDao>();
            summitGroupDaoMock.Setup(x => x.IsInUse(It.IsAny<SummitGroup>())).Returns(true);

            SummitGroup summitGroup = new SummitGroup();

            ISummitGroupService summitGroupService = new SummitGroupService(summitGroupDaoMock.Object);
            bool isInUse = summitGroupService.IsInUse(summitGroup);

            Assert.IsTrue(isInUse);
            summitGroupDaoMock.Verify(x=>x.IsInUse(summitGroup), Times.Once);
        }
Exemple #30
0
        public void TestCreateAndGetAll()
        {
            SummitGroup group     = _dataGenerator.CreateSummitGroup();
            ISummitDao  summitDao = new SummitDao(_graphClient);
            Summit      created   = _dataGenerator.CreateSummit(summitGroup: group);

            IList <Summit> summitsInGroup = summitDao.GetAllIn(group);

            Assert.AreEqual(1, summitsInGroup.Count);
            Assert.AreEqual(created.Name, summitsInGroup.First().Name);
            Assert.AreEqual(created.Id, summitsInGroup.First().Id);
            Assert.AreEqual(created.Id, summitsInGroup.First().Id);
        }
        public void TestGetAll()
        {
            Mock<ISummitDao> summitDaoMock = new Mock<ISummitDao>();
            summitDaoMock.Setup(x => x.GetAllIn(It.IsAny<SummitGroup>())).Returns(new List<Summit> {new Summit{Name = "Gipfel 1"}});

            SummitGroup fakeGroup = new SummitGroup {Name = "Gruppe 1"};

            ISummitService summitService = new SummitService(summitDaoMock.Object);
            IList<Summit> summitsInGroup = summitService.GetAllIn(fakeGroup);
            Assert.AreEqual(1, summitsInGroup.Count);

            summitDaoMock.Verify(x=>x.GetAllIn(It.Is<SummitGroup>(y=>y.Name == fakeGroup.Name)));
        }
        public void TestUpdate()
        {
            Area        area        = _dataGenerator.CreateArea();
            SummitGroup summitGroup = _dataGenerator.CreateSummitGroup("oldname", area);

            summitGroup.Name = "newname";

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);

            summitGroupDao.Save(summitGroup);

            Assert.AreEqual("newname", summitGroupDao.GetAllIn(area).First().Name);
        }
        public void TestGetRoutesInGroup()
        {
            SummitGroup fakeGroup = new SummitGroup();

            Mock<IRoutesDao> routeDaoMock = new Mock<IRoutesDao>();
            routeDaoMock.Setup(x => x.GetRoutesIn(It.IsAny<SummitGroup>())).Returns(new List<Route> {new Route()});

            IRouteService routeService = new RouteService(routeDaoMock.Object);
            IList<Route> routesInCountry = routeService.GetRoutesIn(fakeGroup);

            Assert.AreEqual(routesInCountry.Count, 1);
            routeDaoMock.Verify(x => x.GetRoutesIn(fakeGroup), Times.Once);
        }
Exemple #34
0
        public void TestCreateMissingName(bool useGroup, string name)
        {
            SummitGroup fakeGroup = null;

            if (useGroup)
            {
                fakeGroup = new SummitGroup();
            }

            Action act = () => new SummitService(null).Create(fakeGroup, name);

            act.ShouldThrow <ArgumentNullException>();
        }
        public void TestCreateAndGetAll()
        {
            Area           area     = _dataGenerator.CreateArea();
            SummitGroupDao groupDao = new SummitGroupDao(_graphClient);
            SummitGroup    created  = _dataGenerator.CreateSummitGroup(area: area);

            IList <SummitGroup> groupsInArea = groupDao.GetAllIn(area);

            Assert.AreEqual(1, groupsInArea.Count);
            Assert.AreEqual(created.Name, groupsInArea.First().Name);
            Assert.AreEqual(created.Id, groupsInArea.First().Id);
            Assert.AreEqual(created.Id, groupsInArea.First().Id);
        }
 /// <summary>
 ///     Erstellt eine Route in einer Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <param name="routeName"></param>
 public void CreateIn(SummitGroup summitGroup, string routeName)
 {
     if (summitGroup == null)
     {
         throw new ArgumentNullException(nameof(summitGroup));
     }
     if (string.IsNullOrWhiteSpace(routeName))
     {
         throw new ArgumentNullException(nameof(routeName));
     }
     _routesDao.CreateIn(summitGroup, new Route {
         Name = routeName
     });
 }
        public void TestCreate()
        {
            Mock<ISummitDao> summitDaoMock = new Mock<ISummitDao>();
            summitDaoMock.Setup(x => x.Create(It.IsAny<SummitGroup>(), It.IsAny<Summit>()));

            string groupName = "Gruppe 1";
            string summitName = "Gipfel 1";
            SummitGroup fakeGroup = new SummitGroup { Name = groupName };

            ISummitService summitService = new SummitService(summitDaoMock.Object);
            summitService.Create(fakeGroup, summitName);

            summitDaoMock.Verify(x=>x.Create(It.Is<SummitGroup>(y=>y.Name == groupName), It.Is<Summit>(y=>y.Name == summitName)), Times.Once);
        }
Exemple #38
0
        public SummitGroup CreateSummitGroup(string name = "Gipfelgruppe", Area area = null)
        {
            if (area == null)
            {
                area = CreateArea();
            }
            SummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            SummitGroup    newSummitGroup = new SummitGroup()
            {
                Name = name
            };

            return(summitGroupDao.Create(area, newSummitGroup));
        }
Exemple #39
0
        public void TestSave()
        {
            Mock <ISummitGroupDao> summitGroupDaoMock = new Mock <ISummitGroupDao>();

            summitGroupDaoMock.Setup(x => x.Save(It.IsAny <SummitGroup>()));

            SummitGroup summitGroup = new SummitGroup();

            ISummitGroupService summitGroupService = new SummitGroupService(summitGroupDaoMock.Object);

            summitGroupService.Save(summitGroup);

            summitGroupDaoMock.Verify(x => x.Save(summitGroup), Times.Once);
        }
Exemple #40
0
        public void TestIsInUse()
        {
            Mock <ISummitGroupDao> summitGroupDaoMock = new Mock <ISummitGroupDao>();

            summitGroupDaoMock.Setup(x => x.IsInUse(It.IsAny <SummitGroup>())).Returns(true);

            SummitGroup summitGroup = new SummitGroup();

            ISummitGroupService summitGroupService = new SummitGroupService(summitGroupDaoMock.Object);
            bool isInUse = summitGroupService.IsInUse(summitGroup);

            Assert.IsTrue(isInUse);
            summitGroupDaoMock.Verify(x => x.IsInUse(summitGroup), Times.Once);
        }
Exemple #41
0
        public Summit CreateSummit(string name = "Gipfel", SummitGroup summitGroup = null)
        {
            if (summitGroup == null)
            {
                summitGroup = CreateSummitGroup();
            }
            SummitDao summitDao = new SummitDao(_graphClient);
            Summit    newSummit = new Summit()
            {
                Name = name
            };

            return(summitDao.Create(summitGroup, newSummit));
        }
        public void TestCreateRouteInSummitGroup()
        {
            SummitGroup fakeGroup = new SummitGroup();

            Mock <IRoutesDao> routeDaoMock = new Mock <IRoutesDao>();

            routeDaoMock.Setup(x => x.CreateIn(It.IsAny <SummitGroup>(), It.IsAny <Route>()));

            IRouteService routeService = new RouteService(routeDaoMock.Object);

            routeService.CreateIn(fakeGroup, "Route");

            routeDaoMock.Verify(x => x.CreateIn(fakeGroup, It.Is <Route>(y => y.Name == "Route")));
        }
Exemple #43
0
 /// <summary>
 ///     Erstellt einen neuen Gipfel innerhalb einer Gruppe mit dem übergebenen Namen.
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <param name="name"></param>
 public void Create(SummitGroup summitGroup, string name)
 {
     if (summitGroup == null)
     {
         throw new ArgumentNullException(nameof(summitGroup));
     }
     if (string.IsNullOrWhiteSpace(name))
     {
         throw new ArgumentNullException(nameof(name));
     }
     _summitDao.Create(summitGroup, new Summit {
         Name = name
     });
 }
 /// <summary>
 ///     Löscht eine Gipfelgruppen wenn diese nicht mehr verwendet wird
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Delete(SummitGroup summitGroup)
 {
     if (summitGroup == null)
     {
         throw new ArgumentNullException(nameof(summitGroup));
     }
     if (IsInUse(summitGroup))
     {
         throw new NodeInUseException();
     }
     GraphClient.Cypher.Match("".Area().AnyOutboundRelationAs("usage").SummitGroup("sg"))
     .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
     .Delete("sg, usage").ExecuteWithoutResults();
 }
        public void TestGetRoutesInSummitGroup()
        {
            ICountryDao countryDao = new CountryDao(_graphClient);
            Country country = new Country {Name = "Deutschland"};
            countryDao.Create(country);

            IAreaDao areaDao = new AreaDao(_graphClient);
            Area area = new Area();
            areaDao.Create(country, area);

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            SummitGroup summitGroup = new SummitGroup {Name = "Gipfelgruppe"};
            summitGroupDao.Create(area, summitGroup);

            IRoutesDao routeDao = new RouteDao(_graphClient);
            Route created = routeDao.CreateIn(summitGroup, new Route {Name = "Jakobsweg"});

            IList<Route> routesInArea = routeDao.GetRoutesIn(summitGroup);
            Assert.AreEqual(1, routesInArea.Count);
            Assert.AreEqual("Jakobsweg", routesInArea.First().Name);
            Assert.AreEqual(created.Name, routesInArea.First().Name);
        }
        public void TestCreateRouteInSummit()
        {
            ICountryDao countryDao = new CountryDao(_graphClient);
            Country newCountry = new Country {Name = "Deutschland"};
            countryDao.Create(newCountry);

            IAreaDao areaDao = new AreaDao(_graphClient);
            Area area = new Area();
            areaDao.Create(newCountry, area);

            ISummitGroupDao summitGroupDao = new SummitGroupDao(_graphClient);
            SummitGroup summitGroup = new SummitGroup {Name = "Gipfelgruppe"};
            summitGroupDao.Create(area, summitGroup);

            ISummitDao summitDao = new SummitDao(_graphClient);
            Summit summit = new Summit {Name = "Gipfel"};
            summitDao.Create(summitGroup, summit);

            IRoutesDao routeDao = new RouteDao(_graphClient);
            Route newRoute = new Route {Name = "Jakobsweg"};
            routeDao.CreateIn(summit, newRoute);

            IList<Route> allRoutes = _graphClient.Cypher.Match("(route:Route)")
                .Return(route => route.As<Route>())
                .Results.ToList();
            Assert.AreEqual(1, allRoutes.Count);
        }
 /// <summary>
 ///     Erstellt einen neuen Gipfel innerhalb einer Gruppe mit dem übergebenen Namen.
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <param name="name"></param>
 public void Create(SummitGroup summitGroup, string name)
 {
     if (summitGroup == null) throw new ArgumentNullException(nameof(summitGroup));
     if (string.IsNullOrWhiteSpace(name)) throw new ArgumentNullException(nameof(name));
     _summitDao.Create(summitGroup, new Summit {Name = name});
 }
Exemple #48
0
 /// <summary>
 ///     Liefert alle Routen direkt in der Gipfelgruppe, nicht jedoch die der Einzelnen Gipfel
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <returns></returns>
 public IList<Route> GetRoutesIn(SummitGroup summitGroup)
 {
     return
         GraphClient.Cypher.Match("".SummitGroup("sg").Has().Route("r"))
             .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
             .Return(r => r.As<Route>())
             .Results.ToList();
 }
        public void TestDelete(bool isInUse)
        {
            Mock<ISummitGroupDao> summitGroupDaoMock = new Mock<ISummitGroupDao>();
            summitGroupDaoMock.Setup(x => x.IsInUse(It.IsAny<SummitGroup>())).Returns(isInUse);
            summitGroupDaoMock.Setup(x => x.Delete(It.IsAny<SummitGroup>()));

            SummitGroup summitGroup = new SummitGroup();

            ISummitGroupService summitGroupService = new SummitGroupService(summitGroupDaoMock.Object);
            summitGroupService.Delete(summitGroup);

            summitGroupDaoMock.Verify(x => x.IsInUse(summitGroup), Times.Once);
            summitGroupDaoMock.Verify(x => x.Delete(summitGroup), Times.Once);
        }
Exemple #50
0
        /// <summary>
        ///     Erstellt eine neue Route in einer Gipfelgruppe
        /// </summary>
        /// <param name="summitGroup"></param>
        /// <param name="route"></param>
        public Route CreateIn(SummitGroup summitGroup, Route route)
        {
            var query = GraphClient.Cypher
                .Match("".SummitGroup("sg"))
                .Where((SummitGroup sg) => sg.Id == summitGroup.Id)
                .Create("".Node("sg").Has().RouteWithParam())
                .WithParam("route", route);

            return query.Return(r=>r.As<Route>()).Results.First();
        }
        public void TestSave()
        {
            Mock<ISummitGroupDao> summitGroupDaoMock = new Mock<ISummitGroupDao>();
            summitGroupDaoMock.Setup(x => x.Save(It.IsAny<SummitGroup>()));

            SummitGroup summitGroup = new SummitGroup();

            ISummitGroupService summitGroupService = new SummitGroupService(summitGroupDaoMock.Object);
            summitGroupService.Save(summitGroup);

            summitGroupDaoMock.Verify(x=>x.Save(summitGroup), Times.Once);
        }
 /// <summary>
 ///     Liefert alle Routen einer Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <returns></returns>
 public IList<Route> GetRoutesIn(SummitGroup summitGroup)
 {
     if (summitGroup == null) throw new ArgumentNullException(nameof(summitGroup));
     return _routesDao.GetRoutesIn(summitGroup).OrderBy(x=>x.Name).ToList();
 }
 /// <summary>
 ///     Erstellt eine Route in einer Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <param name="routeName"></param>
 public void CreateIn(SummitGroup summitGroup, string routeName)
 {
     if (summitGroup == null) throw new ArgumentNullException(nameof(summitGroup));
     if (string.IsNullOrWhiteSpace(routeName)) throw new ArgumentNullException(nameof(routeName));
     _routesDao.CreateIn(summitGroup, new Route {Name = routeName});
 }
Exemple #54
0
 /// <summary>
 ///     Liefert alle Gipfel einer Gipfelgruppe
 /// </summary>
 /// <returns></returns>
 public IList<Summit> GetAllIn(SummitGroup summitGroup)
 {
     return GraphClient.Cypher.Match("".SummitGroup("sg").Has().Summit("s"))
         .Where((SummitGroup sg) => sg.Id == summitGroup.Id).Return(s => s.As<Summit>()).Results.ToList();
 }
 /// <summary>
 ///     Speichert die Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Save(SummitGroup summitGroup)
 {
     if (summitGroup == null) throw new ArgumentNullException(nameof(summitGroup));
     _summitGroupDao.Save(summitGroup);
 }
 /// <summary>
 ///     Speichert die Gipfelgruppe
 /// </summary>
 /// <param name="summitGroup"></param>
 public void Save(SummitGroup summitGroup)
 {
     GraphClient.Cypher.Match("".SummitGroup("sg"))
         .Where((SummitGroup sg)=>sg.Id == summitGroup.Id)
         .Set("sg.Name={Name}").WithParam("Name", summitGroup.Name)
         .ExecuteWithoutResults();
 }
 /// <summary>
 ///     Liefert ob die Gipfelgruppe in Verwendung ist
 /// </summary>
 /// <param name="summitGroup"></param>
 /// <returns></returns>
 public bool IsInUse(SummitGroup summitGroup)
 {
     return _summitGroupDao.IsInUse(summitGroup);
 }