public static DbGeometry FromWkt(string type, string wkt, int systemid) { type = type.ToUpper(); switch (type) { case "POINT": return(DbGeometry.PointFromText(wkt, systemid)); case "POLYGON": return(DbGeometry.PolygonFromText(wkt, systemid)); case "LINE": return(DbGeometry.LineFromText(wkt, systemid)); case "MULTIPOINT": return(DbGeometry.MultiPointFromText(wkt, systemid)); case "MULTIPOLYGON": return(DbGeometry.MultiPolygonFromText(wkt, systemid)); case "MULTILINE": return(DbGeometry.MultiLineFromText(wkt, systemid)); default: return(null); } }
private void connectAllFloors(List <Point3D> pointsToConnect, List <LineStringDTO> lineStrings, List <Point3D> pathPoints, Dictionary <string, Point3D> pillarPoints) { for (int i = 0; i < pointsToConnect.Count; i++) { //JObject jobjectSource = pointsToConnect[i]; Point3D source = pointsToConnect[i]; //source = extractPoint(0, jobjectSource, null, Point3D.PointType.PATH_POINT); if (!pathPoints.Contains(source)) { pathPoints.Add(source); } for (int j = i + 1; j < pointsToConnect.Count; j++) { LineStringDTO toAdd = new LineStringDTO(); //JObject jobjectTarget = pointsToConnect[j]; Point3D target = pointsToConnect[j]; //target = extractPoint(0, jobjectTarget, null, Point3D.PointType.PATH_POINT); if (!pathPoints.Contains(target)) { pathPoints.Add(target); } toAdd.Source = source; toAdd.Target = target; toAdd.Wkt = "LINESTRING(" + source.Longitude + " " + source.Latitude + "," + target.Longitude + " " + target.Latitude + ")"; toAdd.LocationG = DbGeometry.LineFromText(toAdd.Wkt, 4326); toAdd.BiDirectional = true; toAdd.Distance = GeoUtils.GetHaversineDistance(source, target); toAdd.Level = source.Level; toAdd.setConnectorType(); lineStrings.Add(toAdd); } pillarPoints.Remove(source.Name); } }
public void Test_GetCrossingNetworkLink() { string coordinates = "POLYGON((511570.8590967182 106965.35195621933, 511570.8590967182 107474.95297542136, 512474.1409032818 107474.95297542136, 512474.1409032818 106965.35195621933, 511570.8590967182 106965.35195621933))"; DbGeometry accessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); bool actualResult = testCandidate.GetCrossingNetworkLink(coordinates, accessLinkLine); Assert.IsTrue(actualResult); }
public void Test_GetAccessLinkCountForCrossesorOverLaps() { DbGeometry operationalObjectPoint = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); DbGeometry accessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); var actualResult = testCandidate.CheckAccessLinkCrossesorOverLaps(operationalObjectPoint, accessLinkLine); Assert.IsNotNull(actualResult); Assert.False(actualResult); }
public void Test_GetIntersectionCountForDeliveryPoint() { DbGeometry operationalObjectPoint = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); DbGeometry accessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); var actualResult = testCandidate.GetIntersectionCountForDeliveryPoint(operationalObjectPoint, accessLinkLine); Assert.IsNotNull(actualResult); Assert.AreEqual(actualResult, 0); }
public void Test_GetAccessLinksCrossingOperationalObject() { string coordinates = "POLYGON((511570.8590967182 106965.35195621933, 511570.8590967182 107474.95297542136, 512474.1409032818 107474.95297542136, 512474.1409032818 106965.35195621933, 511570.8590967182 106965.35195621933))"; DbGeometry accessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); var actualResult = testCandidate.GetAccessLinksCrossingOperationalObject(coordinates, accessLinkLine); Assert.IsNotNull(actualResult); Assert.AreEqual(actualResult.Count, 0); }
private static void RainwaterDitch() { var datas = _cpi.RainwaterDitch//.Where(a => a.targetId == 164) .Where(a => a.STR_84X != a.END_84X || a.STR_84Y != a.END_84Y) .Where(a => a.STR_84X != null && a.STR_84Y != null && a.END_84X != null && a.END_84Y != null); string geometryStr = ""; foreach (var item in datas) { geometryStr = string.Format("LINESTRING({0} {1}, {2} {3})", item.STR_84X, item.STR_84Y, item.END_84X, item.END_84Y); item.coordinate = DbGeometry.LineFromText(geometryStr, 4326); } }
/// <summary> /// 有幾筆資料本身有問題 /// </summary> private static void RainCompletedPipeline() { //先過濾掉資料本身有問題,需要檢查的部分,先不轉換 var datas = _cpi.RainCompletedPipeline//.Where(a => a.targetId == 27) .Where(a => a.US_84X != a.DS_84X || a.US_84Y != a.DS_84Y) .Where(a => a.US_84X != "118.754566070609" && a.US_84Y != "0") .Where(a => a.DS_84X != "118.754566070609" && a.DS_84Y != "0") .Where(a => a.US_84X != null && a.US_84Y != null && a.DS_84X != null && a.DS_84Y != null); string geometryStr = ""; foreach (var item in datas) { geometryStr = string.Format("LINESTRING({0} {1}, {2} {3})", item.US_84X, item.US_84Y, item.DS_84X, item.DS_84Y); item.coordinate = DbGeometry.LineFromText(geometryStr, 4326); } }
public static DbGeometry GetTransect(this OnlandVisualTrashAssessment ovta) { if (ovta.OnlandVisualTrashAssessmentObservations.Count > 1) { var points = Join(",", ovta.OnlandVisualTrashAssessmentObservations.OrderBy(x => x.ObservationDatetime) .Select(x => x.LocationPoint).ToList().Select(x => $"{x.XCoordinate} {x.YCoordinate}") .ToList()); var linestring = $"LINESTRING ({points})"; // the transect is going to be in 2771 because it was generated from points in 2771 return(DbGeometry.LineFromText(linestring, CoordinateSystemHelper.NAD_83_HARN_CA_ZONE_VI_SRID)); } return(null); }
public void DBGeography_SO24405645_SO24402424() { Dapper.EntityFramework.Handlers.Register(); connection.Execute("create table #Geo (id int, geo geography, geometry geometry)"); var obj = new HazGeo { Id = 1, Geo = DbGeography.LineFromText("LINESTRING(-122.360 47.656, -122.343 47.656 )", 4326), Geometry = DbGeometry.LineFromText("LINESTRING (100 100, 20 180, 180 180)", 0) }; connection.Execute("insert #Geo(id, geo, geometry) values (@Id, @Geo, @Geometry)", obj); var row = connection.Query <HazGeo>("select * from #Geo where id=1").SingleOrDefault(); row.IsNotNull(); row.Id.IsEqualTo(1); row.Geo.IsNotNull(); row.Geometry.IsNotNull(); }
protected override void OnSetup() { SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); loggingHelperMock = CreateMock <ILoggingHelper>(); unit1Guid = Guid.NewGuid(); unit2Guid = Guid.NewGuid(); unit3Guid = Guid.NewGuid(); user1Id = System.Guid.NewGuid(); user2Id = System.Guid.NewGuid(); var unitBoundary = DbGeometry.PolygonFromText("POLYGON((511570.8590967182 106965.35195621933, 511570.8590967182 107474.95297542136, 512474.1409032818 107474.95297542136, 512474.1409032818 106965.35195621933, 511570.8590967182 106965.35195621933))", 27700); var unitLocation = new List <UnitLocation>() { new UnitLocation() { UnitName = "unit1", ExternalId = "extunit1", ID = unit1Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> { new UserRoleUnit { Unit_GUID = unit1Guid, User_GUID = user1Id } } }, new UnitLocation() { UnitName = "unit2", ExternalId = "extunit2", ID = unit2Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> { new UserRoleUnit { Unit_GUID = unit2Guid, User_GUID = user1Id } } }, new UnitLocation() { UnitName = "unit3", ExternalId = "extunit2", ID = unit3Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> { new UserRoleUnit { Unit_GUID = unit3Guid, User_GUID = user2Id } } } }; var roadName = new List <OSRoadLink>() { new OSRoadLink() { CentreLineGeometry = unitBoundary, RoadName = "Road 001" } }; var referenceDatas = new List <ReferenceData>() { new ReferenceData() { ReferenceDataName = "PAF", DataDescription = "PAF", ReferenceDataCategory_GUID = new Guid("4A6F8F72-AE47-4EC4-8FCB-EFCFEB900ADD"), ID = new Guid("4A6F8F72-AE47-4EC4-8FCB-EFCFEB900ADD"), ReferenceDataValue = "PAF" }, new ReferenceData() { ReferenceDataName = "PAF", DataDescription = "PAF", ReferenceDataCategory_GUID = new Guid("4A6F8F73-AE47-4EC4-8FCB-EFCFEB900ADD"), ID = new Guid("4A6F8F73-AE47-4EC4-8FCB-EFCFEB900ADD"), ReferenceDataValue = "NYB" } }; var networkLinks = new List <NetworkLink>() { new NetworkLink() { LinkGeometry = DbGeometry.LineFromText("LINESTRING (512722.70000000019 104752.6799999997, 512722.70000000019 104738)", 27700), NetworkLinkType_GUID = new Guid("4A6F8F72-AE47-4EC4-8FCB-EFCFEB900ADD") } }; var mockRoadNameDataService = MockDbSet(roadName); mockRMDBContext = CreateMock <RMDBContext>(); mockRMDBContext.Setup(x => x.Set <OSRoadLink>()).Returns(mockRoadNameDataService.Object); mockRMDBContext.Setup(x => x.OSRoadLinks).Returns(mockRoadNameDataService.Object); mockRMDBContext.Setup(c => c.OSRoadLinks.AsNoTracking()).Returns(mockRoadNameDataService.Object); mockRoadNameDataService.Setup(x => x.Include(It.IsAny <string>())).Returns(mockRoadNameDataService.Object); var mockRoadNameDataService2 = MockDbSet(unitLocation); mockRMDBContext.Setup(x => x.Set <UnitLocation>()).Returns(mockRoadNameDataService2.Object); mockRMDBContext.Setup(x => x.UnitLocations).Returns(mockRoadNameDataService2.Object); mockRMDBContext.Setup(c => c.UnitLocations.AsNoTracking()).Returns(mockRoadNameDataService2.Object); mockRoadNameDataService2.Setup(x => x.Include(It.IsAny <string>())).Returns(mockRoadNameDataService2.Object); var mockReferenceData = MockDbSet(referenceDatas); mockRMDBContext.Setup(x => x.Set <ReferenceData>()).Returns(mockReferenceData.Object); mockRMDBContext.Setup(x => x.ReferenceDatas).Returns(mockReferenceData.Object); mockRMDBContext.Setup(c => c.ReferenceDatas.AsNoTracking()).Returns(mockReferenceData.Object); mockReferenceData.Setup(x => x.Include(It.IsAny <string>())).Returns(mockReferenceData.Object); var mockNetworkLink = MockDbSet(networkLinks); mockRMDBContext.Setup(x => x.Set <NetworkLink>()).Returns(mockNetworkLink.Object); mockRMDBContext.Setup(x => x.NetworkLinks).Returns(mockNetworkLink.Object); mockRMDBContext.Setup(c => c.NetworkLinks.AsNoTracking()).Returns(mockNetworkLink.Object); mockNetworkLink.Setup(x => x.Include(It.IsAny <string>())).Returns(mockNetworkLink.Object); mockDatabaseFactory = CreateMock <IDatabaseFactory <RMDBContext> >(); mockDatabaseFactory.Setup(x => x.Get()).Returns(mockRMDBContext.Object); var rmTraceManagerMock = new Mock <IRMTraceManager>(); rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>())); loggingHelperMock.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object); testCandidate = new RoadNameDataService(mockDatabaseFactory.Object, loggingHelperMock.Object); }
private static Dictionary <MethodInfo, string> GetRenamedMethodFunctions() { var result = new Dictionary <MethodInfo, string>(); result.Add(GetStaticMethod(() => DbGeography.FromText(default(string))), "GeographyFromText"); result.Add(GetStaticMethod(() => DbGeography.FromText(default(string), default(int))), "GeographyFromText"); result.Add(GetStaticMethod(() => DbGeography.PointFromText(default(string), default(int))), "GeographyPointFromText"); result.Add(GetStaticMethod(() => DbGeography.LineFromText(default(string), default(int))), "GeographyLineFromText"); result.Add( GetStaticMethod(() => DbGeography.PolygonFromText(default(string), default(int))), "GeographyPolygonFromText"); result.Add( GetStaticMethod(() => DbGeography.MultiPointFromText(default(string), default(int))), "GeographyMultiPointFromText"); result.Add( GetStaticMethod(() => DbGeography.MultiLineFromText(default(string), default(int))), "GeographyMultiLineFromText"); result.Add( GetStaticMethod(() => DbGeography.MultiPolygonFromText(default(string), default(int))), "GeographyMultiPolygonFromText"); result.Add( GetStaticMethod(() => DbGeography.GeographyCollectionFromText(default(string), default(int))), "GeographyCollectionFromText"); result.Add(GetStaticMethod(() => DbGeography.FromBinary(default(byte[]), default(int))), "GeographyFromBinary"); result.Add(GetStaticMethod(() => DbGeography.FromBinary(default(byte[]))), "GeographyFromBinary"); result.Add( GetStaticMethod(() => DbGeography.PointFromBinary(default(byte[]), default(int))), "GeographyPointFromBinary"); result.Add(GetStaticMethod(() => DbGeography.LineFromBinary(default(byte[]), default(int))), "GeographyLineFromBinary"); result.Add( GetStaticMethod(() => DbGeography.PolygonFromBinary(default(byte[]), default(int))), "GeographyPolygonFromBinary"); result.Add( GetStaticMethod(() => DbGeography.MultiPointFromBinary(default(byte[]), default(int))), "GeographyMultiPointFromBinary"); result.Add( GetStaticMethod(() => DbGeography.MultiLineFromBinary(default(byte[]), default(int))), "GeographyMultiLineFromBinary"); result.Add( GetStaticMethod(() => DbGeography.MultiPolygonFromBinary(default(byte[]), default(int))), "GeographyMultiPolygonFromBinary"); result.Add( GetStaticMethod(() => DbGeography.GeographyCollectionFromBinary(default(byte[]), default(int))), "GeographyCollectionFromBinary"); result.Add(GetStaticMethod(() => DbGeography.FromGml(default(string))), "GeographyFromGml"); result.Add(GetStaticMethod(() => DbGeography.FromGml(default(string), default(int))), "GeographyFromGml"); result.Add(GetInstanceMethod((DbGeography geo) => geo.AsBinary()), "AsBinary"); result.Add(GetInstanceMethod((DbGeography geo) => geo.AsGml()), "AsGml"); result.Add(GetInstanceMethod((DbGeography geo) => geo.AsText()), "AsText"); result.Add(GetInstanceMethod((DbGeography geo) => geo.SpatialEquals(default(DbGeography))), "SpatialEquals"); result.Add(GetInstanceMethod((DbGeography geo) => geo.Disjoint(default(DbGeography))), "SpatialDisjoint"); result.Add(GetInstanceMethod((DbGeography geo) => geo.Intersects(default(DbGeography))), "SpatialIntersects"); result.Add(GetInstanceMethod((DbGeography geo) => geo.Buffer(default(double))), "SpatialBuffer"); result.Add(GetInstanceMethod((DbGeography geo) => geo.Distance(default(DbGeography))), "Distance"); result.Add(GetInstanceMethod((DbGeography geo) => geo.Intersection(default(DbGeography))), "SpatialIntersection"); result.Add(GetInstanceMethod((DbGeography geo) => geo.Union(default(DbGeography))), "SpatialUnion"); result.Add(GetInstanceMethod((DbGeography geo) => geo.Difference(default(DbGeography))), "SpatialDifference"); result.Add( GetInstanceMethod((DbGeography geo) => geo.SymmetricDifference(default(DbGeography))), "SpatialSymmetricDifference"); result.Add(GetInstanceMethod((DbGeography geo) => geo.ElementAt(default(int))), "SpatialElementAt"); result.Add(GetInstanceMethod((DbGeography geo) => geo.PointAt(default(int))), "PointAt"); result.Add(GetStaticMethod(() => DbGeometry.FromText(default(string))), "GeometryFromText"); result.Add(GetStaticMethod(() => DbGeometry.FromText(default(string), default(int))), "GeometryFromText"); result.Add(GetStaticMethod(() => DbGeometry.PointFromText(default(string), default(int))), "GeometryPointFromText"); result.Add(GetStaticMethod(() => DbGeometry.LineFromText(default(string), default(int))), "GeometryLineFromText"); result.Add(GetStaticMethod(() => DbGeometry.PolygonFromText(default(string), default(int))), "GeometryPolygonFromText"); result.Add( GetStaticMethod(() => DbGeometry.MultiPointFromText(default(string), default(int))), "GeometryMultiPointFromText"); result.Add( GetStaticMethod(() => DbGeometry.MultiLineFromText(default(string), default(int))), "GeometryMultiLineFromText"); result.Add( GetStaticMethod(() => DbGeometry.MultiPolygonFromText(default(string), default(int))), "GeometryMultiPolygonFromText"); result.Add( GetStaticMethod(() => DbGeometry.GeometryCollectionFromText(default(string), default(int))), "GeometryCollectionFromText"); result.Add(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[]))), "GeometryFromBinary"); result.Add(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[]), default(int))), "GeometryFromBinary"); result.Add(GetStaticMethod(() => DbGeometry.PointFromBinary(default(byte[]), default(int))), "GeometryPointFromBinary"); result.Add(GetStaticMethod(() => DbGeometry.LineFromBinary(default(byte[]), default(int))), "GeometryLineFromBinary"); result.Add( GetStaticMethod(() => DbGeometry.PolygonFromBinary(default(byte[]), default(int))), "GeometryPolygonFromBinary"); result.Add( GetStaticMethod(() => DbGeometry.MultiPointFromBinary(default(byte[]), default(int))), "GeometryMultiPointFromBinary"); result.Add( GetStaticMethod(() => DbGeometry.MultiLineFromBinary(default(byte[]), default(int))), "GeometryMultiLineFromBinary"); result.Add( GetStaticMethod(() => DbGeometry.MultiPolygonFromBinary(default(byte[]), default(int))), "GeometryMultiPolygonFromBinary"); result.Add( GetStaticMethod(() => DbGeometry.GeometryCollectionFromBinary(default(byte[]), default(int))), "GeometryCollectionFromBinary"); result.Add(GetStaticMethod(() => DbGeometry.FromGml(default(string))), "GeometryFromGml"); result.Add(GetStaticMethod(() => DbGeometry.FromGml(default(string), default(int))), "GeometryFromGml"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.AsBinary()), "AsBinary"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.AsGml()), "AsGml"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.AsText()), "AsText"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.SpatialEquals(default(DbGeometry))), "SpatialEquals"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Disjoint(default(DbGeometry))), "SpatialDisjoint"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Intersects(default(DbGeometry))), "SpatialIntersects"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Touches(default(DbGeometry))), "SpatialTouches"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Crosses(default(DbGeometry))), "SpatialCrosses"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Within(default(DbGeometry))), "SpatialWithin"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Contains(default(DbGeometry))), "SpatialContains"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Overlaps(default(DbGeometry))), "SpatialOverlaps"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Relate(default(DbGeometry), default(string))), "SpatialRelate"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Buffer(default(double))), "SpatialBuffer"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Distance(default(DbGeometry))), "Distance"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Intersection(default(DbGeometry))), "SpatialIntersection"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Union(default(DbGeometry))), "SpatialUnion"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.Difference(default(DbGeometry))), "SpatialDifference"); result.Add( GetInstanceMethod((DbGeometry geo) => geo.SymmetricDifference(default(DbGeometry))), "SpatialSymmetricDifference"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.ElementAt(default(int))), "SpatialElementAt"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.PointAt(default(int))), "PointAt"); result.Add(GetInstanceMethod((DbGeometry geo) => geo.InteriorRingAt(default(int))), "InteriorRingAt"); return(result); }
private static IEnumerable <MethodInfo> GetSupportedMethods() { yield return(GetStaticMethod(() => DbGeography.FromText(default(string)))); yield return(GetStaticMethod(() => DbGeography.FromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.PointFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.LineFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.PolygonFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.MultiPointFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.MultiLineFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.MultiPolygonFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.GeographyCollectionFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeography.FromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.FromBinary(default(byte[])))); yield return(GetStaticMethod(() => DbGeography.PointFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.LineFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.PolygonFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.MultiPointFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.MultiLineFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.MultiPolygonFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.GeographyCollectionFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeography.FromGml(default(string)))); yield return(GetStaticMethod(() => DbGeography.FromGml(default(string), default(int)))); yield return(GetInstanceMethod((DbGeography geo) => geo.AsBinary())); yield return(GetInstanceMethod((DbGeography geo) => geo.AsGml())); yield return(GetInstanceMethod((DbGeography geo) => geo.AsText())); yield return(GetInstanceMethod((DbGeography geo) => geo.SpatialEquals(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.Disjoint(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.Intersects(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.Buffer(default(double)))); yield return(GetInstanceMethod((DbGeography geo) => geo.Distance(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.Intersection(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.Union(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.Difference(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.SymmetricDifference(default(DbGeography)))); yield return(GetInstanceMethod((DbGeography geo) => geo.ElementAt(default(int)))); yield return(GetInstanceMethod((DbGeography geo) => geo.PointAt(default(int)))); yield return(GetStaticMethod(() => DbGeometry.FromText(default(string)))); yield return(GetStaticMethod(() => DbGeometry.FromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.PointFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.LineFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.PolygonFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.MultiPointFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.MultiLineFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.MultiPolygonFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.GeometryCollectionFromText(default(string), default(int)))); yield return(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[])))); yield return(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.PointFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.LineFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.PolygonFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.MultiPointFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.MultiLineFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.MultiPolygonFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.GeometryCollectionFromBinary(default(byte[]), default(int)))); yield return(GetStaticMethod(() => DbGeometry.FromGml(default(string)))); yield return(GetStaticMethod(() => DbGeometry.FromGml(default(string), default(int)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.AsBinary())); yield return(GetInstanceMethod((DbGeometry geo) => geo.AsGml())); yield return(GetInstanceMethod((DbGeometry geo) => geo.AsText())); yield return(GetInstanceMethod((DbGeometry geo) => geo.SpatialEquals(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Disjoint(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Intersects(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Touches(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Crosses(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Within(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Contains(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Overlaps(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Relate(default(DbGeometry), default(string)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Buffer(default(double)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Distance(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Intersection(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Union(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.Difference(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.SymmetricDifference(default(DbGeometry)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.ElementAt(default(int)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.PointAt(default(int)))); yield return(GetInstanceMethod((DbGeometry geo) => geo.InteriorRingAt(default(int)))); }
protected override void OnSetup() { SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); loggingHelperMock = CreateMock <ILoggingHelper>(); unit1Guid = Guid.NewGuid(); unit2Guid = Guid.NewGuid(); unit3Guid = Guid.NewGuid(); user1Id = System.Guid.NewGuid(); user2Id = System.Guid.NewGuid(); var unitBoundary = DbGeometry.PolygonFromText("POLYGON ((505058.162109375 100281.69677734375, 518986.84887695312 100281.69677734375, 518986.84887695312 114158.546875, 505058.162109375 114158.546875, 505058.162109375 100281.69677734375))", 27700); accessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); var streetNames = new List <StreetName>() { new StreetName() { ID = Guid.NewGuid(), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad1", DesignatedName = "XYZ1", Geometry = unitBoundary }, new StreetName() { ID = Guid.NewGuid(), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad2", DesignatedName = "XYZ2", Geometry = unitBoundary }, new StreetName() { ID = Guid.NewGuid(), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad3", DesignatedName = "XYZ3", Geometry = unitBoundary }, new StreetName() { ID = Guid.NewGuid(), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad4", DesignatedName = "XYZ4", Geometry = unitBoundary }, new StreetName() { ID = Guid.NewGuid(), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad5", DesignatedName = "XYZ5", Geometry = unitBoundary }, new StreetName() { ID = Guid.NewGuid(), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad6", DesignatedName = "XYZ6", Geometry = unitBoundary }, new StreetName() { ID = Guid.NewGuid(), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad7", DesignatedName = "XYZ7", Geometry = unitBoundary } }; var unitLocation = new List <UnitLocation>() { new UnitLocation() { UnitName = "unit1", ExternalId = "extunit1", ID = unit1Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> { new UserRoleUnit { Unit_GUID = unit1Guid, User_GUID = user1Id } } }, new UnitLocation() { UnitName = "unit2", ExternalId = "extunit2", ID = unit2Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> { new UserRoleUnit { Unit_GUID = unit2Guid, User_GUID = user1Id } } }, new UnitLocation() { UnitName = "unit3", ExternalId = "extunit2", ID = unit3Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> { new UserRoleUnit { Unit_GUID = unit3Guid, User_GUID = user2Id } } } }; var networkLink = new List <NetworkLink>() { new NetworkLink() { LinkGeometry = accessLinkLine } }; var mockAsynEnumerable = new DbAsyncEnumerable <StreetName>(streetNames); var mockStreetNetworkDataService = MockDbSet(streetNames); mockStreetNetworkDataService.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable.AsQueryable().Provider); mockStreetNetworkDataService.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable.AsQueryable().Expression); mockStreetNetworkDataService.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable.AsQueryable().ElementType); mockStreetNetworkDataService.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <StreetName>)mockAsynEnumerable).GetAsyncEnumerator()); mockRMDBContext = CreateMock <RMDBContext>(); mockRMDBContext.Setup(x => x.Set <StreetName>()).Returns(mockStreetNetworkDataService.Object); mockRMDBContext.Setup(x => x.StreetNames).Returns(mockStreetNetworkDataService.Object); var mockAsynEnumerable2 = new DbAsyncEnumerable <UnitLocation>(unitLocation); var mockStreetNetworkDataService2 = MockDbSet(unitLocation); mockStreetNetworkDataService2.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable2.AsQueryable().Provider); mockStreetNetworkDataService2.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable2.AsQueryable().Expression); mockStreetNetworkDataService2.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable2.AsQueryable().ElementType); mockStreetNetworkDataService2.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <UnitLocation>)mockAsynEnumerable2).GetAsyncEnumerator()); mockRMDBContext.Setup(x => x.Set <UnitLocation>()).Returns(mockStreetNetworkDataService2.Object); mockRMDBContext.Setup(x => x.UnitLocations).Returns(mockStreetNetworkDataService2.Object); var mockAsynEnumerable3 = new DbAsyncEnumerable <NetworkLink>(networkLink); var mockNetworkLink = MockDbSet(networkLink); mockNetworkLink.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable3.AsQueryable().Provider); mockNetworkLink.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable3.AsQueryable().Expression); mockNetworkLink.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable3.AsQueryable().ElementType); mockNetworkLink.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <NetworkLink>)mockAsynEnumerable3).GetAsyncEnumerator()); mockRMDBContext.Setup(x => x.Set <NetworkLink>()).Returns(mockNetworkLink.Object); mockRMDBContext.Setup(x => x.NetworkLinks).Returns(mockNetworkLink.Object); mockRMDBContext.Setup(x => x.NetworkLinks.AsNoTracking()).Returns(mockNetworkLink.Object); mockDatabaseFactory = CreateMock <IDatabaseFactory <RMDBContext> >(); mockDatabaseFactory.Setup(x => x.Get()).Returns(mockRMDBContext.Object); var rmTraceManagerMock = new Mock <IRMTraceManager>(); rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>())); loggingHelperMock.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object); testCandidate = new StreetNetworkDataService(mockDatabaseFactory.Object, loggingHelperMock.Object); }
/// <summary> /// Setup for Nunit Tests. /// </summary> protected override void OnSetup() { mockStreetNetworkDataService = CreateMock <IStreetNetworkDataService>(); mockNetworkManagerIntegrationService = CreateMock <INetworkManagerIntegrationService>(); mockOsRoadLinkDataService = CreateMock <IOSRoadLinkDataService>(); mockRoadNameDataService = CreateMock <IRoadNameDataService>(); loggingHelperMock = CreateMock <ILoggingHelper>(); dbGeometry = DbGeometry.PointFromText("POINT (488938 197021)", 27700); List <SqlGeometry> listOfnetworkIntersectionPoint = new List <SqlGeometry>(); SqlGeometry networkIntersectionPoint = new SqlGeometry(); coordinates = "POLYGON ((505058.162109375 100281.69677734375, 518986.84887695312 100281.69677734375, 518986.84887695312 114158.546875, 505058.162109375 114158.546875, 505058.162109375 100281.69677734375))"; lineGeometry = DbGeometry.LineFromText("LINESTRING (512722.70000000019 104752.6799999997, 512722.70000000019 104738)", 27700); NetworkLinkDataDTO networkLink = new NetworkLinkDataDTO() { ID = Guid.NewGuid(), LinkGeometry = lineGeometry }; List <Tuple <NetworkLinkDataDTO, SqlGeometry> > listOfTuple = new List <Tuple <NetworkLinkDataDTO, SqlGeometry> > { new Tuple <NetworkLinkDataDTO, SqlGeometry>(networkLink, networkIntersectionPoint) }; Tuple <NetworkLinkDataDTO, SqlGeometry> tuple = new Tuple <NetworkLinkDataDTO, SqlGeometry>(networkLink, networkIntersectionPoint); referenceDataCategoryDTOList = new List <ReferenceDataCategoryDTO>() { new ReferenceDataCategoryDTO() { ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataValue = FileType.Nyb.ToString(), ID = Guid.NewGuid(), } }, CategoryName = PostalAddressType } }; // Setup Methods. mockNetworkManagerIntegrationService.Setup(x => x.GetReferenceDataSimpleLists(It.IsAny <List <string> >())).ReturnsAsync(referenceDataCategoryDTOList); mockNetworkManagerIntegrationService.Setup(x => x.GetReferenceDataNameValuePairs(It.IsAny <List <string> >())).ReturnsAsync(referenceDataCategoryDTOList); mockStreetNetworkDataService.Setup(x => x.GetNearestNamedRoad(It.IsAny <DbGeometry>(), It.IsAny <string>(), It.IsAny <List <ReferenceDataCategoryDTO> >())).Returns(tuple); mockStreetNetworkDataService.Setup(x => x.GetNearestSegment(It.IsAny <DbGeometry>(), It.IsAny <List <ReferenceDataCategoryDTO> >())).Returns(listOfTuple); mockStreetNetworkDataService.Setup(x => x.GetNetworkLink(It.IsAny <Guid>())).Returns(networkLink); mockStreetNetworkDataService.Setup(x => x.GetCrossingNetworkLink(It.IsAny <string>(), It.IsAny <DbGeometry>())).Returns(new List <NetworkLinkDataDTO>() { networkLink }); mockStreetNetworkDataService.Setup(x => x.GetStreetNamesForBasicSearch(It.IsAny <string>(), It.IsAny <Guid>(), "Delivery Office")).ReturnsAsync(new List <StreetNameDataDTO>() { new StreetNameDataDTO() { LocalName = "abc" } }); mockStreetNetworkDataService.Setup(x => x.GetStreetNameCount(It.IsAny <string>(), It.IsAny <Guid>(), "Delivery Office")).ReturnsAsync(5); mockStreetNetworkDataService.Setup(x => x.GetStreetNamesForAdvanceSearch(It.IsAny <string>(), It.IsAny <Guid>(), "Delivery Office")).ReturnsAsync(new List <StreetNameDataDTO>() { new StreetNameDataDTO() { LocalName = "abc" } }); mockOsRoadLinkDataService.Setup(x => x.GetOSRoadLink(It.IsAny <string>())).ReturnsAsync("abc"); mockRoadNameDataService.Setup(x => x.GetRoadRoutes(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <List <ReferenceDataCategoryDTO> >(), It.IsAny <string>())).Returns(new List <NetworkLinkDataDTO>() { networkLink }); // Setup for IRMTraceManager. var rmTraceManagerMock = new Mock <IRMTraceManager>(); rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>())); loggingHelperMock.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object); SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); testCandidate = new NetworkManagerBusinessService(mockStreetNetworkDataService.Object, mockNetworkManagerIntegrationService.Object, mockOsRoadLinkDataService.Object, mockRoadNameDataService.Object, loggingHelperMock.Object); }
private void extractLineString(JObject feature, List <LineStringDTO> lineStrings, List <Point3D> pathPoints, Dictionary <string, Point3D> labeledPoints) { LineStringDTO toAdd = new LineStringDTO(); int level = int.Parse(feature["properties"]["level"].ToString()); //bool isAccessible = Boolean.Parse(feature["properties"]["accessible"].ToString()); toAdd.Level = level; if (feature["properties"]["attrs"]["name"] != null) { toAdd.Name = feature["properties"]["attrs"]["name"].ToString(); } StringBuilder wktsb = new StringBuilder("LINESTRING ("); //List<Point3D> labeledPointsFound = new List<Point3D>(); //Point3D source = new Point3D(); //Point3D target = new Point3D(); int i = 0; foreach (JArray j in feature["geometry"]["coordinates"]) { StringBuilder pointWkt = new StringBuilder("POINT ("); string lon = Regex.Match(j.ToString(), "34\\.\\d+").Value; string lat = Regex.Match(j.ToString(), "32\\.\\d+").Value; wktsb.Append(lon + " " + lat + ","); pointWkt.Append(lon + " " + lat + ")"); Point3D current = null; if (labeledPoints.ContainsKey(pointWkt.ToString())) { current = labeledPoints[pointWkt.ToString()]; current.Type = Point3D.PointType.PATH_POINT; if (!pathPoints.Contains(current)) { pathPoints.Add(current); } } if (current == null) { current = pathPoints.Find(x => x.Wkt == pointWkt.ToString() && x.Level == level); } else { current = current; } if (current == null) { current = new Point3D(); //current = i == 0 ? source : target; current.Latitude = Decimal.Parse(lat); current.Longitude = Decimal.Parse(lon); current.Wkt = pointWkt.ToString(); current.LocationG = DbGeometry.PointFromText(current.Wkt, 4326); current.Level = level; current.Type = Point3D.PointType.PATH_POINT; pathPoints.Add(current); } else { i = i; } if (i == 0) { toAdd.Source = current; } if (i == 1) { toAdd.Target = current; } i++; } wktsb.Remove(wktsb.Length - 1, 1); wktsb.Append(")"); toAdd.Wkt = wktsb.ToString(); toAdd.LocationG = DbGeometry.LineFromText(toAdd.Wkt, 4326); toAdd.Distance = GeoUtils.GetHaversineDistance(toAdd.Source, toAdd.Target); toAdd.BiDirectional = true; //if (toAdd.Target.Longitude == 34.7745353108864M) // Debugger.Break(); toAdd.setConnectorType(); lineStrings.Add(toAdd); }
/// <summary> /// Setup for Nunit Tests. /// </summary> protected override void OnSetup() { unit1Guid = Guid.NewGuid(); unit2Guid = Guid.NewGuid(); unit3Guid = Guid.NewGuid(); user1Id = System.Guid.NewGuid(); user2Id = System.Guid.NewGuid(); var unitBoundary = DbGeometry.PolygonFromText("POLYGON((511570.8590967182 106965.35195621933, 511570.8590967182 107474.95297542136, 512474.1409032818 107474.95297542136, 512474.1409032818 106965.35195621933, 511570.8590967182 106965.35195621933))", 27700); var location = new List <Location>() { new Location() { ID = unit1Guid, Shape = unitBoundary } }; var roadName = new List <OSRoadLink>() { new OSRoadLink() { CentreLineGeometry = unitBoundary, RoadName = "Road 001" } }; refDataCategotyDTO = new List <ReferenceDataCategoryDTO>() { new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkTypeDefault, ID = Guid.Parse("4DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.UserDefined, ID = Guid.Parse("DA8F1A91-2E2B-4EEF-9A81-9B18A917CBF1") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkDirection, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkDirectionBoth, ID = Guid.Parse("5DBA7B39-D23E-493A-9B8F-B94D181A082F") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkStatus, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkStatusLive, ID = Guid.Parse("6DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkStatusDraftPendingApproval, ID = Guid.Parse("7DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkStatusDraftPendingReview, ID = Guid.Parse("7B90B2F9-F62F-E711-8735-28D244AEF9ED") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.OperationalObjectType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.OperationalObjectTypeDP, ReferenceDataValue = ReferenceDataValues.OperationalObjectTypeDP, ID = Guid.Parse("415c9129-0615-457e-98b7-3a60436320c5") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkParameters, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.AccessLinkSameRoadMaxDistance, ReferenceDataValue = "25", ID = Guid.Parse("9DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.AccessLinkDiffRoadMaxDistance, ReferenceDataValue = "1", ID = Guid.Parse("3DBA7B39-D23E-493A-9B8F-B94D181A081F") }, } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.NetworkLinkType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.AccessLinkDiffRoadMaxDistance, ReferenceDataValue = "Road Link", ID = Guid.Parse("09ce57b1-af13-4f8e-b4af-1de35b4a68a8") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkParameters, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = "Local Road", ReferenceDataValue = "1", ID = Guid.Parse("4DBA7B35-D23E-493A-9B8F-B94D181A082F") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.DeliveryPointUseIndicator, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = "DeliveryPointUseIndicator", ReferenceDataValue = "Residential", ID = Guid.Parse("178edcad-9431-e711-83ec-28d244aef9ed") } } }, }; var networkLinks = new List <NetworkLink>() { new NetworkLink() { ID = Guid.Parse("09ce57b1-af13-4f8e-b4af-1de35b4a68a8"), TOID = "osgb4000000023358315", LinkGeometry = DbGeometry.LineFromText("LINESTRING (511570.8590967182 106965.35195621933, 511570.8590967182 107474.95297542136, 512474.1409032818 107474.95297542136, 512474.1409032818 106965.35195621933, 511570.8590967182 106965.35195621933)", 27700), NetworkLinkTypeGUID = new Guid("09ce57b1-af13-4f8e-b4af-1de35b4a68a8") } }; // Setup for OSRoadLink. mockNetworkDBContext = CreateMock <NetworkDBContext>(); var mockRoadNameDataService = MockDbSet(roadName); mockNetworkDBContext.Setup(x => x.Set <OSRoadLink>()).Returns(mockRoadNameDataService.Object); mockNetworkDBContext.Setup(x => x.OSRoadLinks).Returns(mockRoadNameDataService.Object); mockNetworkDBContext.Setup(c => c.OSRoadLinks.AsNoTracking()).Returns(mockRoadNameDataService.Object); mockRoadNameDataService.Setup(x => x.Include(It.IsAny <string>())).Returns(mockRoadNameDataService.Object); // Setup for Location. var mockRoadNameDataService2 = MockDbSet(location); mockNetworkDBContext.Setup(x => x.Set <Location>()).Returns(mockRoadNameDataService2.Object); mockNetworkDBContext.Setup(x => x.Locations).Returns(mockRoadNameDataService2.Object); mockNetworkDBContext.Setup(c => c.Locations.AsNoTracking()).Returns(mockRoadNameDataService2.Object); mockRoadNameDataService2.Setup(x => x.Include(It.IsAny <string>())).Returns(mockRoadNameDataService2.Object); // Setup for NetworkLink. var mockNetworkLink = MockDbSet(networkLinks); mockNetworkDBContext.Setup(x => x.Set <NetworkLink>()).Returns(mockNetworkLink.Object); mockNetworkDBContext.Setup(x => x.NetworkLinks).Returns(mockNetworkLink.Object); mockNetworkDBContext.Setup(c => c.NetworkLinks.AsNoTracking()).Returns(mockNetworkLink.Object); mockNetworkLink.Setup(x => x.Include(It.IsAny <string>())).Returns(mockNetworkLink.Object); mockDatabaseFactory = CreateMock <IDatabaseFactory <NetworkDBContext> >(); mockDatabaseFactory.Setup(x => x.Get()).Returns(mockNetworkDBContext.Object); // Setup for IRMTraceManager. mockILoggingHelper = CreateMock <ILoggingHelper>(); var rmTraceManagerMock = new Mock <IRMTraceManager>(); rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>())); mockILoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object); testCandidate = new RoadNameDataService(mockDatabaseFactory.Object, mockILoggingHelper.Object); }
private void getAdjacentLevelsConnectors(Dictionary <string, Point3D> pillarPoints, List <LineStringDTO> lineStrings, List <Point3D> pathPoints) { HashSet <string> pillarPOintsUsed = new HashSet <string>(); List <string> pillarsList = pillarPoints.Keys.ToList(); foreach (string name in pillarsList) { //if (name == "2-3BRamp") // Debugger.Break(); if (!pillarPoints.ContainsKey(name)) { continue; } //JObject j = pillarPoints[name]; Point3D source = pillarPoints[name]; //source = extractPoint(0, j, null, Point3D.PointType.PATH_POINT); if (source.Name.Length < 3) { continue; } if (pathPoints.Contains(source)) { source = pathPoints.Find(x => x == source); source.Name = name; } else { pathPoints.Add(source); } char startlevel = source.Name[0]; char endlevel = source.Name[2]; string destname = source.Name.Remove(0, 1).Insert(0, endlevel.ToString()).Remove(2, 1).Insert(2, startlevel.ToString()); if (!pillarPoints.ContainsKey(destname)) { continue; } LineStringDTO toAdd = new LineStringDTO(); //j = pillarPoints[destname]; Point3D target = pillarPoints[destname]; //target = extractPoint(0, j, null, Point3D.PointType.PATH_POINT); if (pathPoints.Contains(target)) { target = pathPoints.Find(x => x == target); target.Name = destname; target.Type = Point3D.PointType.LEVEL_CONNECTION; } else { pathPoints.Add(target); } toAdd.Source = source; toAdd.Target = target; toAdd.Wkt = "LINESTRING(" + source.Longitude + " " + source.Latitude + "," + target.Longitude + " " + target.Latitude + ")"; toAdd.LocationG = DbGeometry.LineFromText(toAdd.Wkt, 4326); toAdd.Distance = GeoUtils.GetHaversineDistance(source, target); toAdd.Level = source.Level; if (source.Name.Contains("Esc")) { if (source.Name.Contains("EscBi")) { toAdd.BiDirectional = true; } else { toAdd.BiDirectional = false; } } toAdd.setConnectorType(); lineStrings.Add(toAdd); pillarPoints.Remove(name); pillarPoints.Remove(destname); } }
/// <summary> /// Setup for Nunit Tests. /// </summary> protected override void OnSetup() { accessLinkManualCreateModelDTO = new AccessLinkManualCreateModelDTO { AccessLinkLine = "[[512455.33999999985,107127.7899999991],[512454.8208646417,107129.43228437999],[512474,107139]]", BoundingBoxCoordinates = "511684.44432227453,106504.23168359262,513419.32779204147,107103.43288199503", NetworkLinkGUID = "c55712fe-ce92-4386-a0a5-e9a158b15441", OperationalObjectGUID = "ffc86397-fbb5-4caf-a070-aca8d723de57", Workloadlength = 40, NetworkIntersectionPoint = "[512455.33999999985,107127.7899999991]", OperationalObjectPoint = "[512455.33999999985,107127.7899999991]" }; deliveryPointDTO = new DeliveryPointDTO { LocationXY = DbGeometry.PointFromText("POINT (488938 197021)", 27700), Latitude = (decimal)50.83133590, Longitude = (decimal) - 0.40071150, Positioned = true, UDPRN = 2364534, PostalAddress = new RM.CommonLibrary.EntityFramework.DTO.PostalAddressDTO { Thoroughfare = "Salvington Gardens" }, DeliveryPointUseIndicator_GUID = Guid.Parse("178EDCAD-9431-E711-83EC-28D244AEF9ED") }; accessLinkDTO = new List <AccessLinkDTO>() { new AccessLinkDTO() { ID = Guid.Parse("3981AD3B-D253-4BD9-AB82-000094D8EE67"), OperationalObjectPoint = DbGeometry.PointFromText("POINT (488938 197021)", 27700), NetworkIntersectionPoint = DbGeometry.PointFromText("POINT (488929.9088937093 197036.37310195228)", 27700), AccessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700), NetworkLink_GUID = Guid.Parse("4DBA7B39-D23E-493A-9B8F-B94D181A082F") } }; networkLink = new NetworkLinkDTO { Id = Guid.Parse("4DBA7B39-D23E-493A-9B8F-B94D181A082F"), TOID = "osgb4000000023358315", NetworkLinkType_GUID = Guid.Parse("09CE57B1-AF13-4F8E-B4AF-1DE35B4A68A8"), LinkGeometry = DbGeometry.LineFromText("LINESTRING (488952 197048, 488895 197018, 488888 197014, 488880 197008)", 27700) }; SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); SqlGeometry networkIntersectionPoint = SqlGeometry.Null; List <SqlGeometry> lstnetworkIntersectionPoint = new List <SqlGeometry>(); try { networkIntersectionPoint = accessLinkDTO[0].OperationalObjectPoint.ToSqlGeometry().ShortestLineTo(networkLink.LinkGeometry.ToSqlGeometry()).STEndPoint(); lstnetworkIntersectionPoint.Add(networkIntersectionPoint); } catch (Exception) { } Tuple <NetworkLinkDTO, SqlGeometry> tuple = new Tuple <NetworkLinkDTO, SqlGeometry>(networkLink, networkIntersectionPoint); List <Tuple <NetworkLinkDTO, SqlGeometry> > tuple1 = new List <Tuple <NetworkLinkDTO, SqlGeometry> > { new Tuple <NetworkLinkDTO, SqlGeometry>(networkLink, networkIntersectionPoint) }; List <ReferenceDataCategoryDTO> refDataCategotyDTO = new List <ReferenceDataCategoryDTO>() { new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkTypeDefault, ID = Guid.Parse("4DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.UserDefined, ID = Guid.Parse("DA8F1A91-2E2B-4EEF-9A81-9B18A917CBF1") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkDirection, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkDirectionBoth, ID = Guid.Parse("5DBA7B39-D23E-493A-9B8F-B94D181A082F") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkStatus, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkStatusLive, ID = Guid.Parse("6DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkStatusDraftPendingApproval, ID = Guid.Parse("7DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = null, ReferenceDataValue = ReferenceDataValues.AccessLinkStatusDraftPendingReview, ID = Guid.Parse("7B90B2F9-F62F-E711-8735-28D244AEF9ED") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.OperationalObjectType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.OperationalObjectTypeDP, ReferenceDataValue = ReferenceDataValues.OperationalObjectTypeDP, ID = Guid.Parse("415c9129-0615-457e-98b7-3a60436320c5") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkParameters, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.AccessLinkSameRoadMaxDistance, ReferenceDataValue = "25", ID = Guid.Parse("9DBA7B39-D23E-493A-9B8F-B94D181A082F") }, new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.AccessLinkDiffRoadMaxDistance, ReferenceDataValue = "1", ID = Guid.Parse("3DBA7B39-D23E-493A-9B8F-B94D181A081F") }, } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.NetworkLinkType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.AccessLinkDiffRoadMaxDistance, ReferenceDataValue = "Road Link", ID = Guid.Parse("09ce57b1-af13-4f8e-b4af-1de35b4a68a8") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkParameters, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = "Local Road", ReferenceDataValue = "1", ID = Guid.Parse("4DBA7B35-D23E-493A-9B8F-B94D181A082F") } } }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.DeliveryPointUseIndicator, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = "DeliveryPointUseIndicator", ReferenceDataValue = "Residential", ID = Guid.Parse("178edcad-9431-e711-83ec-28d244aef9ed") } } }, }; loggingHelperMock = CreateMock <ILoggingHelper>(); // Setup Methods. mockaccessLinkDataService = new Mock <IAccessLinkDataService>(); mockAccessLinkIntegrationService = CreateMock <IAccessLinkIntegrationService>(); mockaccessLinkDataService.Setup(x => x.GetAccessLinks(It.IsAny <string>(), It.IsAny <Guid>())).Returns(It.IsAny <List <AccessLinkDataDTO> >); mockaccessLinkDataService.Setup(x => x.GetAccessLinksCrossingOperationalObject(It.IsAny <string>(), It.IsAny <DbGeometry>())).Returns(default(bool)); mockaccessLinkDataService.Setup(x => x.DeleteAccessLink(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <Guid>())).ReturnsAsync(true); mockAccessLinkIntegrationService.Setup(x => x.GetReferenceDataNameValuePairs(It.IsAny <List <string> >())).ReturnsAsync(new List <ReferenceDataCategoryDTO>() { }); mockAccessLinkIntegrationService.Setup(x => x.GetReferenceDataSimpleLists(It.IsAny <List <string> >())).ReturnsAsync(refDataCategotyDTO); mockAccessLinkIntegrationService.Setup(x => x.GetDeliveryPoint(It.IsAny <Guid>())).ReturnsAsync(deliveryPointDTO); mockAccessLinkIntegrationService.Setup(x => x.GetNearestNamedRoad(It.IsAny <DbGeometry>(), It.IsAny <string>())).ReturnsAsync(tuple); mockAccessLinkIntegrationService.Setup(x => x.GetNearestSegment(It.IsAny <DbGeometry>())).ReturnsAsync(tuple1); mockAccessLinkIntegrationService.Setup(x => x.GetOSRoadLink(It.IsAny <string>())).ReturnsAsync("Local Road"); mockAccessLinkIntegrationService.Setup(x => x.GetCrossingNetworkLinks(It.IsAny <string>(), It.IsAny <DbGeometry>())).ReturnsAsync(new List <NetworkLinkDTO>() { }); mockAccessLinkIntegrationService.Setup(x => x.GetDeliveryPointsCrossingOperationalObject(It.IsAny <string>(), It.IsAny <DbGeometry>())).ReturnsAsync(new List <DeliveryPointDTO>() { }); mockAccessLinkIntegrationService.Setup(x => x.GetNetworkLink(It.IsAny <Guid>())).ReturnsAsync(networkLink); mockaccessLinkDataService.Setup(x => x.CreateAccessLink(It.IsAny <AccessLinkDataDTO>())).Returns(true); var rmTraceManagerMock = new Mock <IRMTraceManager>(); rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>())); loggingHelperMock.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object); testCandidate = new AccessLinkBusinessService(mockaccessLinkDataService.Object, loggingHelperMock.Object, mockAccessLinkIntegrationService.Object); }
public void setWktAndLocationG() { Wkt = "LINESTRING(" + Source.Longitude + " " + Source.Latitude + "," + Target.Longitude + " " + Target.Latitude + ")"; LocationG = DbGeometry.LineFromText(Wkt, 4326); }
public DbGeometry ToDbGeometry(int epsg) { return(DbGeometry.LineFromText(ToWKT(), epsg)); }
/// <summary> /// Data and Methods setup required to run test methods /// </summary> protected override void OnSetup() { // Data setup unit1Guid = new Guid("8534AA41-391F-4579-A18D-D7EDF5B5F918"); currentUserUnitType = "Delivery Office"; mockIConfigurationHelper = CreateMock <IConfigurationHelper>(); SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); var unitBoundary = DbGeometry.PolygonFromText("POLYGON ((505058.162109375 100281.69677734375, 518986.84887695312 100281.69677734375, 518986.84887695312 114158.546875, 505058.162109375 114158.546875, 505058.162109375 100281.69677734375))", 27700); accessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700); point = DbGeometry.PointFromText("POINT (488938 197021)", 27700); var streetNamesList = new List <StreetName>() { new StreetName() { ID = new Guid("8134AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad1", DesignatedName = "XYZ1", Geometry = unitBoundary }, new StreetName() { ID = new Guid("8234AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad2", DesignatedName = "XYZ2", Geometry = unitBoundary }, new StreetName() { ID = new Guid("8334AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad3", DesignatedName = "XYZ3", Geometry = unitBoundary }, new StreetName() { ID = new Guid("8434AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad4", DesignatedName = "XYZ4", Geometry = unitBoundary }, new StreetName() { ID = new Guid("8534AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad5", DesignatedName = "XYZ5", Geometry = unitBoundary }, new StreetName() { ID = new Guid("8634AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad6", DesignatedName = "XYZ6", Geometry = unitBoundary }, new StreetName() { ID = new Guid("8734AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad7", DesignatedName = "XYZ7", Geometry = unitBoundary } }; var networkLinkList = new List <NetworkLink>() { new NetworkLink() { LinkGeometry = accessLinkLine, StreetNameGUID = new Guid("8134AA41-391F-4579-A18D-D7EDF5B5F918"), NetworkLinkTypeGUID = Guid.Empty, ID = new Guid("8134AA41-391F-4579-A18D-D7EDF5B5F911") } }; List <Location> locationList = new List <Location>() { new Location() { ID = unit1Guid, Shape = unitBoundary } }; referenceDataCategoryList = new List <ReferenceDataCategoryDTO>() { new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.NetworkLinkType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataValue = ReferenceDataValues.NetworkLinkPathLink } }, Id = new Guid("1534AA41-391F-4579-A18D-D7EDF5B5F918") }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.NetworkLinkType, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataValue = ReferenceDataValues.NetworkLinkRoadLink } }, Id = new Guid("2534AA41-391F-4579-A18D-D7EDF5B5F918") }, new ReferenceDataCategoryDTO() { CategoryName = ReferenceDataCategoryNames.AccessLinkParameters, ReferenceDatas = new List <ReferenceDataDTO>() { new ReferenceDataDTO() { ReferenceDataName = ReferenceDataValues.AccessLinkDiffRoadMaxDistance, ReferenceDataValue = "5" } }, Id = new Guid("3534AA41-391F-4579-A18D-D7EDF5B5F918") } }; mockNetworkDBContext = CreateMock <NetworkDBContext>(); mockILoggingHelper = CreateMock <ILoggingHelper>(); // Setup for StreetName var mockAsynEnumerable = new DbAsyncEnumerable <StreetName>(streetNamesList); var mockStreetName = MockDbSet(streetNamesList); mockStreetName.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable.AsQueryable().Provider); mockStreetName.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable.AsQueryable().Expression); mockStreetName.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable.AsQueryable().ElementType); mockStreetName.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <StreetName>)mockAsynEnumerable).GetAsyncEnumerator()); mockNetworkDBContext.Setup(x => x.Set <StreetName>()).Returns(mockStreetName.Object); mockNetworkDBContext.Setup(x => x.StreetNames).Returns(mockStreetName.Object); mockStreetName.Setup(x => x.AsNoTracking()).Returns(mockStreetName.Object); // Setup for Location var mockAsynEnumerable1 = new DbAsyncEnumerable <Location>(locationList); var mockLocation = MockDbSet(locationList); mockLocation.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable1.AsQueryable().Provider); mockLocation.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable1.AsQueryable().Expression); mockLocation.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable1.AsQueryable().ElementType); mockLocation.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <Location>)mockAsynEnumerable1).GetAsyncEnumerator()); mockNetworkDBContext.Setup(x => x.Set <Location>()).Returns(mockLocation.Object); mockNetworkDBContext.Setup(x => x.Locations).Returns(mockLocation.Object); mockLocation.Setup(x => x.AsNoTracking()).Returns(mockLocation.Object); // Setup for NetworkLink var mockAsynEnumerable3 = new DbAsyncEnumerable <NetworkLink>(networkLinkList); var mockNetworkLink = MockDbSet(networkLinkList); mockNetworkLink.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable3.AsQueryable().Provider); mockNetworkLink.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable3.AsQueryable().Expression); mockNetworkLink.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable3.AsQueryable().ElementType); mockNetworkLink.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <NetworkLink>)mockAsynEnumerable3).GetAsyncEnumerator()); mockNetworkDBContext.Setup(x => x.Set <NetworkLink>()).Returns(mockNetworkLink.Object); mockNetworkDBContext.Setup(x => x.NetworkLinks).Returns(mockNetworkLink.Object); mockNetworkDBContext.Setup(x => x.NetworkLinks.AsNoTracking()).Returns(mockNetworkLink.Object); // Mock trace manager var rmTraceManagerMock = new Mock <IRMTraceManager>(); rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>())); mockILoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object); mockIConfigurationHelper.Setup(x => x.ReadAppSettingsConfigurationValues(It.IsAny <string>())).Returns("5"); mockDatabaseFactory = CreateMock <IDatabaseFactory <NetworkDBContext> >(); mockDatabaseFactory.Setup(x => x.Get()).Returns(mockNetworkDBContext.Object); testCandidate = new StreetNetworkDataService(mockDatabaseFactory.Object, mockILoggingHelper.Object, mockIConfigurationHelper.Object); }