public Rig GenerateRig(string rigType, string name, string description) { RigTemplate rigTemplate = m_rigTemplateRepository.GetRigTemplate(rigType); Rig rig = m_rigRepository.Create(rigType, name, description); foreach (EquipmentTemplate equipmentTemplate in rigTemplate.EquipmentTemplates) { Equipment currentEquipment = m_equipmentRepository.Create(rig.Id, null, equipmentTemplate.Name, equipmentTemplate.Type, equipmentTemplate.IsSystem); currentEquipment.Fields.AddRange(equipmentTemplate.Fields); foreach (EquipmentTemplate subTemplate in equipmentTemplate.SubTemplates) { // All sub items must set isSystem to false. Equipment subEquipment = m_equipmentRepository.Create(rig.Id, currentEquipment.Id, subTemplate.Name, subTemplate.Type, isSystem: false); subEquipment.Fields.AddRange(subTemplate.Fields); m_equipmentRepository.Update(subEquipment); } m_equipmentRepository.Update(currentEquipment); } return(rig); }
public void GetRigTemplate_Deserializes_RigTemplate_From_Data_Returns_RigTemplate() { string expectedTemplatePath = @"RigTemplates\jackupRigTemplate.json"; A.CallTo(() => m_fileSystem.Path.Combine(@"Data\RigTemplates", "jackupRigTemplate.json")).Returns(expectedTemplatePath); A.CallTo(() => m_fileSystem.File.ReadAllText(expectedTemplatePath)).Returns(GetRigTemplateData()); RigTemplate rigTemplate = m_testSubject.GetRigTemplate("Jackup"); Assert.IsNotNull(rigTemplate); }
public void GenerateRig_ReturnsGeneratedRig() { RigTemplate rigTemplate = GetRigTemplate(); A.CallTo(() => m_rigTemplateRepo.GetRigTemplate("Jackup")).Returns(rigTemplate); Rig expectedRig = new Rig() { Id = Guid.NewGuid().ToString() }; A.CallTo(() => m_rigRepo.Create("Jackup", string.Empty, string.Empty)).Returns(expectedRig); Rig rig = m_testSubject.GenerateRig("Jackup", string.Empty, string.Empty); Assert.AreEqual(expectedRig.Id, rig.Id); }
private RigTemplate GetRigTemplate() { RigTemplate rigTemplate = new RigTemplate(); for (int i = 0; i < 5; i++) { EquipmentTemplate equipmentTemplate = new EquipmentTemplate(); equipmentTemplate.Name = $"EquipmentTemplate-{i}"; equipmentTemplate.Type = $"EquipmentType-{i}"; equipmentTemplate.Fields.Add(new DateTimeField()); equipmentTemplate.Fields.Add(new DateTimeField()); equipmentTemplate.Fields.Add(new DateTimeField()); rigTemplate.EquipmentTemplates.Add(equipmentTemplate); } return(rigTemplate); }
public void TestMethod1() { RigTemplate rigTemplate = new RigTemplate(); for (int i = 0; i < 5; i++) { rigTemplate.EquipmentTemplates.Add(CreateEquipmentTemplate()); } EmmockJsonSerializer serializer = new EmmockJsonSerializer(); string json = serializer.SerializeObject(rigTemplate); Console.WriteLine(json); RigTemplate deserialzied = serializer.DeserializeObject <RigTemplate>(json); Assert.IsNotNull(deserialzied); }
public void GenerateRig_CreatesEquipment_For_Every_EquipmentTemplate_In_RigTemplate() { RigTemplate rigTemplate = GetRigTemplate(); A.CallTo(() => m_rigTemplateRepo.GetRigTemplate("Jackup")).Returns(rigTemplate); Rig rig = new Rig() { Id = Guid.NewGuid().ToString() }; A.CallTo(() => m_rigRepo.Create("Jackup", string.Empty, string.Empty)).Returns(rig); m_testSubject.GenerateRig("Jackup", string.Empty, string.Empty); foreach (EquipmentTemplate equipmentTemplate in rigTemplate.EquipmentTemplates) { A.CallTo(() => m_equipmentRepo.Create(rig.Id, null, equipmentTemplate.Name, equipmentTemplate.Type, false)).MustHaveHappenedOnceExactly(); } }
public void GenerateRig_AddsFields_From_EquipmentTemplate_To_Equipment_Correctly() { // arrange RigTemplate rigTemplate = GetRigTemplate(); A.CallTo(() => m_rigTemplateRepo.GetRigTemplate("Jackup")).Returns(rigTemplate); Rig rig = new Rig() { Id = Guid.NewGuid().ToString() }; A.CallTo(() => m_rigRepo.Create("Jackup", string.Empty, string.Empty)).Returns(rig); List <Equipment> createdEquipmentList = new List <Equipment>(); foreach (EquipmentTemplate equipmentTemplate in rigTemplate.EquipmentTemplates) { Equipment equipment = new Equipment() { Id = equipmentTemplate.Name }; A.CallTo(() => m_equipmentRepo.Create(rig.Id, null, equipmentTemplate.Name, equipmentTemplate.Type, false)).Returns(equipment); createdEquipmentList.Add(equipment); } // act m_testSubject.GenerateRig("Jackup", string.Empty, string.Empty); // assert foreach (EquipmentTemplate equipmentTemplate in rigTemplate.EquipmentTemplates) { Equipment currentEquipment = createdEquipmentList.FirstOrDefault(e => e.Id == equipmentTemplate.Name); CollectionAssert.AreEqual(equipmentTemplate.Fields, currentEquipment.Fields); } }
public void GenerateRig_UpdatesEquipment_For_Every_EquipmentCreated() { // arrange RigTemplate rigTemplate = GetRigTemplate(); A.CallTo(() => m_rigTemplateRepo.GetRigTemplate("Jackup")).Returns(rigTemplate); Rig rig = new Rig() { Id = Guid.NewGuid().ToString() }; A.CallTo(() => m_rigRepo.Create("Jackup", string.Empty, string.Empty)).Returns(rig); List <Equipment> createdEquipmentList = new List <Equipment>(); foreach (EquipmentTemplate equipmentTemplate in rigTemplate.EquipmentTemplates) { Equipment equipment = new Equipment() { Id = equipmentTemplate.Name }; A.CallTo(() => m_equipmentRepo.Create(rig.Id, null, equipmentTemplate.Name, equipmentTemplate.Type, false)).Returns(equipment); createdEquipmentList.Add(equipment); } // act m_testSubject.GenerateRig("Jackup", string.Empty, string.Empty); // assert foreach (EquipmentTemplate equipmentTemplate in rigTemplate.EquipmentTemplates) { Equipment currentEquipment = createdEquipmentList.FirstOrDefault(e => e.Id == equipmentTemplate.Name); A.CallTo(() => m_equipmentRepo.Update(currentEquipment)).MustHaveHappenedOnceExactly(); } }
public void GenerateJackupRig_RigAndEquipment_Created_Correctly() { // arrange IFileSystem fIleSystem = new FileSystem(); ISerializer serializer = new EmmockJsonSerializer(); IRigRepository rigRepo = new FileRigStore(fIleSystem, serializer); IEquipmentRepository equipmentRepo = new FileEquipmentStore(fIleSystem, serializer); IRigTemplateRepository rigTemplateRepo = new FileRigTemplateStore(fIleSystem, serializer); RigTemplate rigTemplate = rigTemplateRepo.GetRigTemplate("Jackup"); // act RigGenerator rigGenerator = new RigGenerator(rigRepo, equipmentRepo, rigTemplateRepo); Rig generatedRig = rigGenerator.GenerateRig("Jackup", "Rig For Test", ""); Rig actualRig = rigRepo.GetAll().FirstOrDefault(r => r.Id == generatedRig.Id); // assert Assert.IsNotNull(actualRig); Assert.AreEqual(generatedRig.Name, actualRig.Name); // TODO: Much deeper check around equipment created from generator }
public void GetJackupRigTemplate_RigTemplate_Contains_Correct_JackupEquipment() { RigTemplate jackupTemplate = m_testSubject.GetRigTemplate("Jackup"); Assert.AreEqual(1, jackupTemplate.EquipmentTemplates.Count); }