Beispiel #1
0
        public void FromHandleTest()
        {
            using (var profile = Profile.CreatePlaceholder(null))
            {
                ScreeningFlags     expectedFlag      = ScreeningFlags.FrequencyUnitLinesCm;
                uint               expectedNChannels = 1;
                ScreeningChannel[] expectedChannels  = new ScreeningChannel[16];
                expectedChannels[0].Frequency   = 2.0;
                expectedChannels[0].ScreenAngle = 3.0;
                expectedChannels[0].SpotShape   = SpotShape.Ellipse;

                var expected = new Screening(expectedFlag, expectedNChannels, expectedChannels);
                profile.WriteTag(TagSignature.Screening, expected);

                // Act
                // implicit call to FromHandle
                var target          = profile.ReadTag <Screening>(TagSignature.Screening);
                var actualFlag      = target.Flag;
                var actualNChannels = target.nChannels;
                var actualChannels  = target.Channels;

                // Assert
                Assert.AreEqual(expectedFlag, actualFlag);
                Assert.AreEqual(expectedNChannels, actualNChannels);
                for (int i = 0; i < 16; i++)
                {
                    Assert.AreEqual(expectedChannels[i], actualChannels[i]);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Initialises a new instance of the <see cref="Screening"/> class.
        /// </summary>
        /// <param name="flag">The screening flags.</param>
        /// <param name="nchannels">The number of screening channels defined for use.</param>
        /// <param name="channels">An array of 16 screening channels.</param>
        public Screening(ScreeningFlags flag, uint nchannels, ScreeningChannel[] channels)
        {
            if (channels?.Length != MAX_CHANNELS)
            {
                throw new ArgumentException($"'{nameof(channels)}' array size must equal {MAX_CHANNELS}.");
            }

            Flag      = flag;
            nChannels = nchannels;
            Channels  = channels;
        }
Beispiel #3
0
        public void ConstructorTest()
        {
            // Arrange
            ScreeningFlags expectedFlag      = ScreeningFlags.FrequencyUnitLinesInch;
            uint           expectedNChannels = 1;

            ScreeningChannel[] expectedChannels = new ScreeningChannel[16];
            expectedChannels[0].Frequency   = 2.0;
            expectedChannels[0].ScreenAngle = 3.0;
            expectedChannels[0].SpotShape   = SpotShape.Ellipse;

            // Act
            var target          = new Screening(expectedFlag, expectedNChannels, expectedChannels);
            var actualFlag      = target.Flag;
            var actualNChannels = target.nChannels;
            var actualChannels  = target.Channels;

            // Assert
            Assert.AreEqual(expectedFlag, actualFlag);
            Assert.AreEqual(expectedNChannels, actualNChannels);
            Assert.AreEqual(expectedChannels, actualChannels);
        }