Exemple #1
0
        public void Read_CollectorNull_ThrowArgumentNullException()
        {
            // Setup
            var entity = new SpecificFailureMechanismEntity();

            // Call
            void Call() => entity.Read(null);

            // Assert
            string paramName = Assert.Throws <ArgumentNullException>(Call).ParamName;

            Assert.AreEqual("collector", paramName);
        }
Exemple #2
0
        public void Read_ValidEntityWithoutSections_ReturnSpecificFailureMechanism()
        {
            // Setup
            var entity = new SpecificFailureMechanismEntity
            {
                N = 1.1
            };

            var collector = new ReadConversionCollector();

            // Call
            SpecificFailureMechanism specificFailureMechanism = entity.Read(collector);

            // Assert
            Assert.AreEqual(entity.FailureMechanismSectionEntities.Count, specificFailureMechanism.Sections.Count());
            Assert.IsNull(specificFailureMechanism.FailureMechanismSectionSourcePath);
        }
Exemple #3
0
        public void Read_EntityWithNullValues_ReturnSpecificFailureMechanism()
        {
            // Setup
            var entity = new SpecificFailureMechanismEntity
            {
                N = 1.1
            };
            var collector = new ReadConversionCollector();

            // Call
            SpecificFailureMechanism specificFailureMechanism = entity.Read(collector);

            // Assert
            FailureMechanismAssemblyResult assemblyResult = specificFailureMechanism.AssemblyResult;

            Assert.IsNaN(assemblyResult.ManualFailureMechanismAssemblyProbability);
        }
Exemple #4
0
        public void Read_ValidEntity_ReturnSpecificFailureMechanism()
        {
            // Setup
            var  random                = new Random(21);
            bool inAssembly            = random.NextBoolean();
            var  probabilityResultType = random.NextEnumValue <FailureMechanismAssemblyProbabilityResultType>();

            const string filePath = "failureMechanismSections/File/Path";
            var          entity   = new SpecificFailureMechanismEntity
            {
                Name = "Specific failure mechanism name",
                Code = "FAALMECHANISME",
                N    = random.NextDouble(1.0, 20.0),
                ApplyLengthEffectInSection = Convert.ToByte(random.NextBoolean()),
                InAssembly = Convert.ToByte(inAssembly),
                InAssemblyInputComments  = "Some input text",
                InAssemblyOutputComments = "Some output text",
                NotInAssemblyComments    = "Some not in assembly text",
                FailureMechanismSectionCollectionSourcePath         = filePath,
                FailureMechanismAssemblyResultProbabilityResultType = Convert.ToByte(probabilityResultType),
                FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability = random.NextDouble(),
                FailureMechanismSectionEntities =
                {
                    CreateSimpleFailureMechanismSectionEntity()
                }
            };

            var collector = new ReadConversionCollector();

            // Call
            SpecificFailureMechanism specificFailureMechanism = entity.Read(collector);

            // Assert
            FailureMechanismEntityTestHelper.AssertIFailureMechanismEntityProperties(entity, specificFailureMechanism);

            Assert.AreEqual(entity.Name, specificFailureMechanism.Name);
            Assert.AreEqual(entity.Code, specificFailureMechanism.Code);
            Assert.AreEqual(entity.FailureMechanismSectionEntities.Count, specificFailureMechanism.Sections.Count());
            Assert.AreEqual(filePath, specificFailureMechanism.FailureMechanismSectionSourcePath);

            Assert.AreEqual(entity.N, specificFailureMechanism.GeneralInput.N, specificFailureMechanism.GeneralInput.N.GetAccuracy());
            Assert.AreEqual(Convert.ToBoolean(entity.ApplyLengthEffectInSection), specificFailureMechanism.GeneralInput.ApplyLengthEffectInSection);
        }
Exemple #5
0
        public void Read_ValidEntityWithSections_ReturnSpecificFailureMechanism()
        {
            // Setup
            const string filePath = "sections/File/Path";
            FailureMechanismSectionEntity failureMechanismSectionEntity = CreateSimpleFailureMechanismSectionEntity();

            var sectionResultEntity = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity
            {
                FailureMechanismSectionEntity = failureMechanismSectionEntity
            };

            SectionResultTestHelper.SetSectionResult(sectionResultEntity);

            failureMechanismSectionEntity.NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntities = new List <NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity>
            {
                sectionResultEntity
            };

            var entity = new SpecificFailureMechanismEntity
            {
                N = 1.1,
                FailureMechanismSectionEntities = new List <FailureMechanismSectionEntity>
                {
                    failureMechanismSectionEntity
                },
                FailureMechanismSectionCollectionSourcePath = filePath
            };

            var collector = new ReadConversionCollector();

            // Call
            SpecificFailureMechanism specificFailureMechanism = entity.Read(collector);

            // Assert
            Assert.AreEqual(filePath, specificFailureMechanism.FailureMechanismSectionSourcePath);
            Assert.AreEqual(entity.FailureMechanismSectionEntities.Count, specificFailureMechanism.Sections.Count());

            SectionResultTestHelper.AssertSectionResult(entity.FailureMechanismSectionEntities
                                                        .SelectMany(fms => fms.NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntities)
                                                        .Single(),
                                                        specificFailureMechanism.SectionResults.Single());
        }