public void Execute_ForKnownKey_ReturnsJpegFileFromImageGenerator() { _fakeGenerator.Returns = new byte[] { 1, 2, 3, 4 }; var request = ExpectedRequests.MapRequestForKey(_knownLocations.First().Key); var response = _sut.Execute(request, _logger).AsFile(); Assert.That(response.FileContents, Is.EqualTo(_fakeGenerator.Returns)); }
public void DrawWayPoints() { ClearWayPoints(); foreach (var loc in route) { var pin = new Pushpin(); pin.Location = loc; pin.MouseDown += Pin_MouseDown; pin.MouseUp += Pin_MouseUp; pins.Add(pin); // draw the tack on map Color pinColor = loc == route.First() ? startColor : loc == route.Last() ? endColor : routeColor; pin.Background = new SolidColorBrush(pinColor); map.Children.Add(pin); } // draw the line of the route polyline = new MapPolyline(); polyline.Locations = snappedRoute ?? route; polyline.Stroke = new System.Windows.Media.SolidColorBrush(routeColor); polyline.StrokeThickness = 3; polyline.Opacity = 0.7; map.Children.Add(polyline); }
public TestMapWindow() { InitializeComponent(); //主路数据 int mainLocCount = 60; Collection <Location> collectionMain = new Collection <Location>(); for (int i = 0; i < mainLocCount; i++) { collectionMain.Add(new Location() { Index = i }); } for (int i = 0; i < mainLocCount; i++) { int forwardIndex = i + 1 > mainLocCount - 1 ? 0 : i + 1; int backwardIndex = i - 1 < 0 ? mainLocCount - 1 : i - 1; Location forward = collectionMain.First(p => p.Index == forwardIndex); Location backward = collectionMain.First(p => p.Index == backwardIndex); collectionMain.First(p => p.Index == i).RoadInfos.Add(new RoadInfo() { RoadIndex = 0, ForwardLocation = forward, BackwardLocation = backward }); } LocationCollection = collectionMain; //主路图形绑定 for (int i = 0; i < mainLocCount; i++) { LocationControl locCtrl = new LocationControl(); Binding binding = new Binding("Index"); binding.Source = LocationCollection[i]; locCtrl.SetBinding(LocationControl.LocationIndexProperty, binding); if (i < 20) { locCtrl.SetValue(Canvas.LeftProperty, 200.0 + i * 100.0); locCtrl.SetValue(Canvas.TopProperty, 200.0); } else if (i < 30) { locCtrl.SetValue(Canvas.LeftProperty, 2100.0); locCtrl.SetValue(Canvas.TopProperty, 300.0 + (i - 20) * 100.0); } else if (i < 50) { locCtrl.SetValue(Canvas.LeftProperty, 2100.0 - (i - 30) * 100.0); locCtrl.SetValue(Canvas.TopProperty, 1300.0); } else { locCtrl.SetValue(Canvas.LeftProperty, 200.0); locCtrl.SetValue(Canvas.TopProperty, 1200.0 - (i - 50) * 100.0); } canvas.Children.Add(locCtrl); } //支路数据 int subLocCount = 10; Collection <Location> collectionSub = new Collection <Location>(); for (int i = mainLocCount; i < mainLocCount + subLocCount; i++) { collectionSub.Add(new Location() { Index = i }); } foreach (var item in collectionSub) { LocationCollection.Add(item); } for (int i = mainLocCount; i < mainLocCount + subLocCount; i++) { int forwardIndex = i + 1 > mainLocCount + subLocCount - 1 ? 39 : i + 1; //三岔口39 int backwardIndex = i - 1 < mainLocCount ? 10 : i - 1; //三岔口10 Location forward = LocationCollection.First(p => p.Index == forwardIndex); Location backward = LocationCollection.First(p => p.Index == backwardIndex); collectionSub.First(p => p.Index == i).RoadInfos.Add(new RoadInfo() { RoadIndex = 1,//支线 ForwardLocation = forward, BackwardLocation = backward }); } //三岔路特殊处理 LocationCollection[10].RoadInfos.Add(new RoadInfo() { RoadIndex = 1,//支线 ForwardLocation = collectionSub[0], BackwardLocation = null }); LocationCollection[39].RoadInfos.Add(new RoadInfo() { RoadIndex = 1,//支线 ForwardLocation = null, BackwardLocation = collectionSub[subLocCount - 1] }); //支路图形绑定 for (int i = 0; i < subLocCount; i++) { LocationControl locCtrl = new LocationControl(); Binding binding = new Binding("Index"); binding.Source = collectionSub[i]; locCtrl.SetBinding(LocationControl.LocationIndexProperty, binding); locCtrl.SetValue(Canvas.LeftProperty, 1200.0); locCtrl.SetValue(Canvas.TopProperty, 300.0 + i * 100.0); canvas.Children.Add(locCtrl); } }