public void Route_payload_should_be_obeyed() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 5; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); var expectedResource = "Ore"; var expectedQuantity = 5; var startingResources = new Dictionary <string, int> { { expectedResource, expectedQuantity } }; expectedOriginDepot.NegotiateProvider(startingResources); var result = route.AddResource(expectedResource, expectedQuantity + 1); Assert.IsType <InsufficientPayloadNegotiationResult>(result); Assert.False(route.Resources.ContainsKey(expectedResource)); }
public void Origin_depot_must_have_requsted_resource() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 5; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); var expectedResource = "Ore"; var requestedQuantity = 5; var result = route.AddResource(expectedResource, requestedQuantity); Assert.IsType <FailedNegotiationResult>(result); Assert.False(route.Resources.ContainsKey(expectedResource)); }
/// <summary> /// 增加测试路线信息 /// </summary> /// <param name="tr"></param> public void Insert(TestRoute tr) { //增加测试路线基础信息Idx自增 db.InsertInto("TestRouteBaseInfo", new string[] { "TestRoutes", "LineMileage", "Material", "Time", "Picture" }, new string[] { tr.TestRouteBase.TestRoutes.ToString(), tr.TestRouteBase.LineMileage.ToString(), tr.TestRouteBase.Material.ToString(), tr.TestRouteBase.Time.ToString(), tr.TestRouteBase.Picture.ToString(), }); string lastIdx = db.ExecuteQueryLastIdx(); //增加测试路线基础信息对应的路面类型信息,Id自增 for (int i = 0; i < tr.PavementTypeInfo.Count(); i++) { db.InsertInto("PavementTypeInfo", new string[] { "Idx", "Name", "Length", "Percent", "Picture" } , new string[] { lastIdx, tr.PavementTypeInfo[i].Name.ToString(), tr.PavementTypeInfo[i].Length.ToString(), tr.PavementTypeInfo[i].Percent.ToString(), tr.PavementTypeInfo[i].Picture.ToString() }); } }
public void Routes_should_have_an_origin_destination_and_payload() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 5; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); Assert.NotNull(route); Assert.Equal(expectedOriginBody, route.OriginBody); Assert.Equal(expectedOriginBiome, route.OriginBiome); Assert.Equal(expectedDestinationBody, route.DestinationBody); Assert.Equal(expectedDestinationBiome, route.DestinationBiome); Assert.Equal(expectedPayload, route.Payload); Assert.Equal(expectedOriginDepot, route.OriginDepot); Assert.Equal(expectedDestinationDepot, route.DestinationDepot); }
/// <summary> /// 修改测试路线信息 /// </summary> /// <param name="tr"></param> public void Update(TestRoute tr) { //先修改测试路线基础信息 db.UpdateInto("TestRouteBaseInfo", new string[] { "Idx", "TestRoutes", "LineMileage", "Material", "Time", "Picture" }, new string[] { tr.TestRouteBase.Index.ToString(), tr.TestRouteBase.TestRoutes.ToString(), tr.TestRouteBase.LineMileage.ToString(), tr.TestRouteBase.Material.ToString(), tr.TestRouteBase.Time.ToString(), tr.TestRouteBase.Picture.ToString(), }, "Idx", tr.TestRouteBase.Index.ToString() ); //删除测试路线对应的所有路面类型信息 DeleteAllPavementTypeInfo(tr.TestRouteBase.Index); //再增加测试路线对应的所有路面类型信息 for (int i = 0; i < tr.PavementTypeInfo.Count(); i++) { db.InsertInto("PavementTypeInfo", new string[] { "Idx", "Name", "Length", "Percent", "Picture" }, new string[] { tr.TestRouteBase.Index.ToString(), tr.PavementTypeInfo[i].Name.ToString(), tr.PavementTypeInfo[i].Length.ToString(), tr.PavementTypeInfo[i].Percent.ToString(), tr.PavementTypeInfo[i].Picture.ToString() }); } }
public void LoadFromZip_OneBusRoute() { TestRoute busRoute = new TestRoute { RouteId = "1", AgencyId = "1", RouteShortName = "1", RouteLongName = "", RouteDesc = "Key Bus Route (Frequent Service)", RouteType = "3", RouteUrl = "", RouteColor = "FFFF7C", RouteTextColor = "000000", RouteSortOrder = 100 }; _helper.TargetFileName = "onebusroute.zip"; _helper.FeedInfos.Add(TestFeedInfo.Sample); _helper.Routes.Add(busRoute); _helper.MakeZipFile(); Download target = new Download { download_date = DateTime.Now, download_file_name = _helper.TargetFilePath }; target.LoadFromZip(); // we're not currently loading anything but commuter rail Assert.AreEqual(0, target.Routes.Count, "checking Routes count"); }
public void Can_assign_resources_to_a_route() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 5; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); var expectedResource = "Ore"; var expectedQuantity = 5; var startingResources = new Dictionary <string, int> { { expectedResource, expectedQuantity } }; expectedOriginDepot.NegotiateProvider(startingResources); var result = route.AddResource(expectedResource, expectedQuantity); Assert.IsType <OkNegotiationResult>(result); Assert.True(route.Resources.ContainsKey(expectedResource)); Assert.Equal(expectedQuantity, route.Resources[expectedResource]); }
public void SecondRegisteredDoesNotRouteTest() { TestRoute tr = new TestRoute(); ProtoRouter.registerRoute(DataWrapper.MsgOneofCase.ExecuteCommand, tr); ProtoRouter.routeProtobuf(wrapper, "", null); Assert.IsNull(tr.test); }
public void OneTimeSetup() { route = new TestRoute(); route2 = new TestRoute(); ProtoRouter.registerRoute(DataWrapper.MsgOneofCase.ExecuteCommand, route); ProtoRouter.registerRoute(DataWrapper.MsgOneofCase.CommandChange, route2); wrapper = new DataWrapper(); wrapper.ExecuteCommand = new ExecuteCommand(); wrapper.ExecuteCommand.Name = ts; }
public void TestRouteMessage(TestRouteBase trb) { TestRoute tr = new TestRoute(); foreach (var item in testRouteList) { if (item.TestRouteBase == trb) { tr = item; Messenger.Default.Send(tr, "TestRouteMessage"); } } }
public void Should_not_allow_changes_if_destination_dependencies_would_break() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 5; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); var expectedResource = "Ore"; var providedQuantity = 5; var usedQuantity = 3; var startingResources = new Dictionary <string, int> { { expectedResource, providedQuantity } }; expectedOriginDepot.NegotiateProvider(startingResources); var addResult = route.AddResource(expectedResource, providedQuantity); var consumedResources = new Dictionary <string, int> { { expectedResource, usedQuantity } }; expectedDestinationDepot.NegotiateConsumer(consumedResources); var removeResult = route.RemoveResource(expectedResource, providedQuantity); Assert.IsType <OkNegotiationResult>(addResult); Assert.IsType <BrokenNegotiationResult>(removeResult); Assert.True(route.Resources.ContainsKey(expectedResource)); Assert.Equal(providedQuantity, route.Resources[expectedResource]); var depotResources = expectedDestinationDepot.GetResources() .Where(r => r.ResourceName == expectedResource) .FirstOrDefault(); Assert.Equal(usedQuantity, depotResources.Outgoing); }
public void LoadFromZip_OneCrRoute() { TestRoute expectedRoute = new TestRoute { RouteId = "CR-Foo", AgencyId = "1", RouteShortName = "Foo", RouteLongName = "Foo from Bar to Bletch", RouteDesc = "Something Fooish", RouteType = "2", RouteUrl = "", RouteColor = "8B118F", RouteTextColor = "FFFFFF", RouteSortOrder = 1 }; _helper.TargetFileName = "oneroute.zip"; _helper.FeedInfos.Add(TestFeedInfo.Sample); _helper.Routes.Add(expectedRoute); _helper.MakeZipFile(); Download target = new Download { download_date = DateTime.Now, download_file_name = _helper.TargetFilePath }; target.LoadFromZip(); Assert.AreEqual(1, target.Routes.Count, "checking Routes count"); var actualRoute = target.Routes.ElementAt(0); Assert.AreEqual(expectedRoute.RouteId, actualRoute.route_id, "checking route_id"); Assert.AreEqual(expectedRoute.AgencyId, actualRoute.agency_id, "checking agency_id"); Assert.AreEqual(expectedRoute.RouteShortName, actualRoute.route_short_name, "checking route_short_name"); Assert.AreEqual(expectedRoute.RouteLongName, actualRoute.route_long_name, "checking route_long_name"); Assert.AreEqual(expectedRoute.RouteDesc, actualRoute.route_desc, "checking route_desc"); Assert.AreEqual(expectedRoute.RouteUrl, actualRoute.route_url, "checking route_url"); Assert.AreEqual(expectedRoute.RouteColor, actualRoute.route_color, "checking route_color"); Assert.AreEqual(expectedRoute.RouteTextColor, actualRoute.route_text_color, "checking route_text_color"); }
public void Routes_require_a_nonzero_payload() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 0; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); Assert.Throws <RouteInsufficientPayloadException>(() => { var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); }); }
public void Can_remove_route_resources(int startingPayload, int amountToRemove) { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, startingPayload, persistenceLayer); var expectedResource = "Ore"; var startingResources = new Dictionary <string, int> { { expectedResource, startingPayload } }; expectedOriginDepot.NegotiateProvider(startingResources); var addResult = route.AddResource(expectedResource, startingPayload); var removeResult = route.RemoveResource(expectedResource, amountToRemove); Assert.IsType <OkNegotiationResult>(addResult); Assert.IsType <OkNegotiationResult>(removeResult); if (startingPayload == amountToRemove) { Assert.False(route.Resources.ContainsKey(expectedResource)); } else { Assert.True(route.Resources.ContainsKey(expectedResource)); Assert.Equal(startingPayload - amountToRemove, route.Resources[expectedResource]); } }
public void Origin_depot_availability_should_be_obeyed() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 5; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); var expectedResource = "Ore"; var requestedQuantity = 5; var availableQuantity = 4; var startingResources = new Dictionary <string, int> { { expectedResource, availableQuantity } }; expectedOriginDepot.NegotiateProvider(startingResources); var result = route.AddResource(expectedResource, requestedQuantity); Assert.IsType <FailedNegotiationResult>(result); Assert.False(route.Resources.ContainsKey(expectedResource)); var depotResource = expectedOriginDepot.GetResources() .Where(r => r.ResourceName == expectedResource) .FirstOrDefault(); Assert.Equal(availableQuantity, depotResource.Incoming); Assert.Equal(0, depotResource.Outgoing); Assert.Equal(availableQuantity, depotResource.Available); }
/// <summary> /// 通过Messenger发送消息获取TestRoute信息 /// </summary> /// <param name="tr">选中的测试路线</param> private void TestRouteMessage(TestRoute tr) { //拷贝tr数据 //首先拷贝路面类型数据 //ptInfo.Clear(); foreach (var item in tr.pavementTypeInfo) { PavementType r = Mapper <PavementType, PavementType>(item); ptInfo.Add(r); } //拷贝路面基础信息数据 trbSelf = Mapper <TestRouteBase, TestRouteBase>(tr.TestRouteBase); trSelf = new TestRoute { TestRouteBase = trbSelf, pavementTypeInfo = ptInfo }; this.pavementTypeInfoDataGrid.ItemsSource = trSelf.PavementTypeInfo; this.DataContext = trSelf; }
public void Route_resources_should_be_added_to_destination_depot() { var expectedOriginBody = "Kerbin"; var expectedOriginBiome = "LaunchPad"; var expectedDestinationBody = "Mun"; var expectedDestinationBiome = "East Crater"; var expectedPayload = 5; var persistenceLayer = new TestPersister(); var expectedOriginDepot = persistenceLayer.CreateDepot(expectedOriginBody, expectedOriginBiome); var expectedDestinationDepot = persistenceLayer.CreateDepot(expectedDestinationBody, expectedDestinationBiome); var route = new TestRoute( expectedOriginBody, expectedOriginBiome, expectedDestinationBody, expectedDestinationBiome, expectedPayload, persistenceLayer); var expectedResource = "Ore"; var expectedQuantity = 5; var startingResources = new Dictionary <string, int> { { expectedResource, expectedQuantity } }; expectedOriginDepot.NegotiateProvider(startingResources); var result = route.AddResource(expectedResource, expectedQuantity); Assert.IsType <OkNegotiationResult>(result); var depotResources = expectedDestinationDepot.GetResources(); var resource = depotResources .Where(r => r.ResourceName == expectedResource) .FirstOrDefault(); Assert.Equal(expectedQuantity, resource.Incoming); Assert.Equal(0, resource.Outgoing); Assert.Equal(expectedQuantity, resource.Available); }
void OnMouseUp() { Vector3 GridPosition = new Vector3(0.0f, 0.0f, 0.0f); GridPosition[0] = Convert.ToSingle(RoundToHalf(transform.position[0])); if (tall) { double modifiedNumber = Convert.ToDouble(transform.position[1]); GridPosition[1] = Convert.ToSingle(Math.Round(modifiedNumber, 0)); //GridPosition[1] = Convert.ToSingle(RoundToHalf(transform.position[1]+0.5f)); } else { GridPosition[1] = Convert.ToSingle(RoundToHalf(transform.position[1])); } GridPosition[2] = Convert.ToSingle(RoundToHalf(transform.position[2])); transform.position = GridPosition; TestRoute.MapObject(gameObject); if (tall) { TestRoute.MapObject(gameObject, true); } //TestRoute.FindCoordinates(gameObject); }
//增加测试路线 private void Insert(TestRoute tr) { //testRouteDao.Insert(tr); testRouteDao.Insert(tr); SelectAll(); }
//修改测试路线 private void Update(TestRoute tr) { testRouteDao.Update(tr); SelectAll(); }
/// <summary> /// 提交 需要判断新增还是编辑,通过父窗口传过来的提交测试路线信息还是修改测试路线信息 /// 调用对应的command命令 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="OperationFlag">操作类型</param> private void Submit(object sender, RoutedEventArgs e) { //先校验数据格式是否正确 if (Verify() == false) { MessageBox.Show("请检查数据格式!"); return; } //确认提交 OKWindow okWindow = new OKWindow("提交数据", "确实要提交这条数据吗?"); okWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen; okWindow.ShowDialog(); if (okWindow.Ret == false) { return; } //再执行相关操作 if (OperationFlag == "Insert") { TestRouteBase trb = new TestRouteBase { Index = 0, LineMileage = this.trbLineMileage.Text, Material = this.trbMaterial.Text, Picture = this.trbPicture.Source as BitmapImage, TestRoutes = this.trbTestRoutes.Text, Time = this.trbTime.Text }; //如果是Insert必须保证路面类型必须有一条 TestRoute tr = new TestRoute { TestRouteBase = trb, PavementTypeInfo = ptInfo }; var MyVM = this.testRouteViewModelSelf; if (MyVM != null && MyVM.InsertCommand.CanExecute(tr)) { MyVM.InsertCommand.Execute(tr); } } else if (OperationFlag == "Update") { TestRouteBase trb = new TestRouteBase { Index = this.trSelf.TestRouteBase.Index, LineMileage = this.trbLineMileage.Text, Material = this.trbMaterial.Text, Picture = this.trbPicture.Source as BitmapImage, TestRoutes = this.trbTestRoutes.Text, Time = this.trbTime.Text }; TestRoute tr = new TestRoute { TestRouteBase = trb, PavementTypeInfo = ptInfo }; var MyVM = this.testRouteViewModelSelf; if (MyVM != null && MyVM.UpdateCommand.CanExecute(tr)) { MyVM.UpdateCommand.Execute(tr); } } this.Close(); }
public void SecondRouteDoesNotThrow() { route = new TestRoute(); ProtoRouter.registerRoute(DataWrapper.MsgOneofCase.ExecuteCommand, route); Assert.True(true); }