private List <T> TransformModels <T>(List <ToolGridRecord> uiRecords) where T : class, new() { List <T> resultRecords = new List <T>(); foreach (var record in uiRecords) { if (typeof(T) == typeof(ToolAssembly)) { var tool = new ToolAssembly(); tool.Name = record.Name; tool.CutterAssembly = new CutterAssembly { Cutter = new Cutter() }; tool.CutterAssembly.Cutter.Diameter = record.Size; if (record.Length != null) { tool.Length = (int)record.Length; } tool.Quantity = record.Quantity; resultRecords.Add(tool as T); } if (typeof(T) == typeof(CutterAssembly)) { var tool = new CutterAssembly(); tool.Name = record.Name; tool.Cutter = new Cutter(); tool.Cutter.Diameter = record.Size; if (record.Length != null) { tool.Length = (int)record.Length; } tool.Quantity = record.Quantity; resultRecords.Add(tool as T); } if (typeof(T) == typeof(Holder)) { var tool = new Holder(); tool.Name = record.Name; if (record.Length != null) { tool.Length = (int)record.Length; } tool.Quantity = record.Quantity; resultRecords.Add(tool as T); } } return(resultRecords); }
private ToolAssembly GetExpectedToolAssembly(bool expPlateExists = false) { var expectedTool = new ToolAssembly(); if (expPlateExists) { expectedTool.Name = "000P082K07010000"; expectedTool.CutterAssembly = new CutterAssembly(); expectedTool.CutterAssembly.Cutter = new Cutter { Diameter = 114000000, Name = "D 100 PLAN R345 SANDVIK STAHL SL" }; expectedTool.CutterAssembly.ExchangablePlate = new ExchangablePlate() { Name = "D 100 PLAN R345 SANDVIK STAHL SL" }; expectedTool.CutterAssembly.Cutter.EdgeNr = 10; expectedTool.Length = 110000000; expectedTool.Quantity = 6; expectedTool.Holders = new List <Holder>(); expectedTool.Holders.Add(new Holder { Name = "D32 AUFSTECK KEMMLER EL024 GL060 HSK63" }); expectedTool.UsageMaterials = new List <string> { "DMU STAHL", "GG", "STAHL", "WZG-STAHL" }; } else { expectedTool.Name = "060K098T000F0650"; expectedTool.CutterAssembly = new CutterAssembly(); expectedTool.CutterAssembly.Cutter = new Cutter { Diameter = 6000000, Name = "KF 06.0 35KON 1.5 POKOLM GL75" }; expectedTool.CutterAssembly.Cutter.EdgeNr = 1; expectedTool.Length = 126000000; expectedTool.Quantity = 0; expectedTool.Holders = new List <Holder>(); expectedTool.Holders.Add(new Holder { Name = "D08 SCHRUMPF POKOLM EL50 HSK50" }); expectedTool.UsageMaterials = new List <string>() { "ALU", "STAHL", "WZ.STAHL" }; } return(expectedTool); }
public void ToolAndLocationLinkingTest() { #region test data Dictionary <string, string> locations = new Dictionary <string, string> { { "Magazine 5", "QWER1234" }, { "Magazine 1", "0WW7SYY1QP8QFGWJ" } }; ToolAssembly targetAssembly = new ToolAssembly { Id = "128", Name = "006K066S000F0122" }; string targetAssemblyInstanceGuid = "TESTINGVG1QWERTY1"; int toolInstanceId = 81; #endregion App.Ui.ToolsMain.OpenToolAssemblyDirectly(targetAssembly.Id); var instanceInStock = App.Ui.ToolManagerToolInfo.GetToolInstances().First(i => i.Id.Equals(toolInstanceId)); var targetLocation = locations.First(l => !l.Key.Equals(instanceInStock.Location)); for (int i = 0; i < 2; i++) { App.Ui.Main.NavigateToSectionInSideMenu(SidePanelData.Sections.ToolLinking); App.Ui.Link.PopulateFirstItem(targetAssemblyInstanceGuid); App.Ui.Link.PopulateSecondItem(targetLocation.Value); var message = App.Ui.Link.GetSuccessResultMessage(); Assert.True(message.Equals("Success"), "Linking wasn't successful"); App.Ui.Link.CloseLinkPopup(); App.Ui.ToolsMain.OpenToolAssemblyDirectly(targetAssembly.Id); instanceInStock = App.Ui.ToolManagerToolInfo.GetToolInstances() .First(ins => ins.Id.Equals(toolInstanceId)); Assert.True(instanceInStock.Location.Equals(targetLocation.Key)); targetLocation = locations.First(l => !l.Key.Equals(targetLocation.Key)); } }
private void CompareToolAssemblyDetails(ToolAssembly expectedTool, ToolAssembly actualTool) { Assert.Multiple( () => { Assert.True(actualTool.Name.Equals(expectedTool.Name), "Name is wrong"); Assert.True( actualTool.CutterAssembly.Cutter.Diameter .Equals(expectedTool.CutterAssembly.Cutter.Diameter), $"Size is wrong. Expected is {expectedTool.CutterAssembly.Cutter.Diameter} but actual is { actualTool.CutterAssembly.Cutter.Diameter}"); Assert.True( ServiceMethods.RemoveMultipleInnerWhitespaces(actualTool.CutterAssembly.Cutter.Name) .Equals(ServiceMethods.RemoveMultipleInnerWhitespaces(expectedTool.CutterAssembly.Cutter.Name)), $"Cutter component name is wrong. Expected '{expectedTool.CutterAssembly.Cutter.Name}'"); if (expectedTool.CutterAssembly.ExchangablePlate != null) { Assert.True( actualTool.CutterAssembly.ExchangablePlate != null && ServiceMethods.RemoveMultipleInnerWhitespaces(actualTool.CutterAssembly.ExchangablePlate.Name) .Equals(ServiceMethods.RemoveMultipleInnerWhitespaces(expectedTool.CutterAssembly.ExchangablePlate.Name)), $"Exchangable plate is wrong. Expected '{expectedTool.CutterAssembly.ExchangablePlate.Name}'"); } else { Assert.True(actualTool.CutterAssembly.ExchangablePlate == null, "Exchangable plate is wrong"); } Assert.True(actualTool.Length.Equals(expectedTool.Length), "Length is wrong"); Assert.True(actualTool.Quantity >= expectedTool.Quantity, "Quantity is wrong"); Assert.True( ServiceMethods.RemoveMultipleInnerWhitespaces(actualTool.Holders.First().Name) .Equals(ServiceMethods.RemoveMultipleInnerWhitespaces(expectedTool.Holders.First().Name)), "Holder name is wrong"); Assert.True(actualTool.CutterAssembly.Cutter.EdgeNr.Equals(actualTool.CutterAssembly.Cutter.EdgeNr), "Cutters quantity is incorrect"); Assert.True(actualTool.UsageMaterials.SequenceEqual(expectedTool.UsageMaterials), "Usage materials are wrong"); }); }
public ToolAssembly GetToolAssemblyInfo() { var info = this.GetToolInformaion(); ToolAssembly tool = new ToolAssembly(); tool.Description = info["Short description"]; tool.Name = info["Tool type"]; tool.CutterAssembly = new CutterAssembly(); tool.CutterAssembly.Cutter = new Cutter(); if (info["Size"] != string.Empty) { tool.CutterAssembly.Cutter.Diameter = int.Parse(info["Size"]); } tool.Length = int.Parse(info["Length"]); tool.Quantity = int.Parse(info["Quantity in stock"]); tool.UsageMaterials = new List <string> { string.Empty }; var usageMaterials = info["Usage material"].Split(',').ToList(); tool.UsageMaterials = new List <string>(); usageMaterials.ForEach(e => tool.UsageMaterials.Add(e.Trim())); // ToDo: 'Maximum lifetime' usage and 'Operating depth' to be added after defining requirements var relatedComponents = this.GetRelatedComponents(); int i = 0; foreach (var component in relatedComponents) { switch (i) { case 0: { tool.CutterAssembly.Cutter.Name = component.Name; break; } case 1: { if (relatedComponents.Count > 2) { tool.CutterAssembly.ExchangablePlate = new ExchangablePlate { Name = component.Name }; tool.CutterAssembly.Cutter.EdgeNr = component.Quantity; } else { tool.Holders = new List <Holder> { new Holder { Name = component.Name } }; } break; } default: { tool.Holders = new List <Holder> { new Holder { Name = component.Name } }; break; } } i++; } return(tool); }