Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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();
            }
        }
Пример #7
0
        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);
            }
        }
Пример #8
0
        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();
            }
        }
Пример #9
0
        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
        }
Пример #10
0
        public void GetJackupRigTemplate_RigTemplate_Contains_Correct_JackupEquipment()
        {
            RigTemplate jackupTemplate = m_testSubject.GetRigTemplate("Jackup");

            Assert.AreEqual(1, jackupTemplate.EquipmentTemplates.Count);
        }