public void HBMJS001500OhmNegativeTest()
        {
            Waveform waveform = PublicStandardTestExtensions.ParseWaveformFromString(Properties.Resources.HBM_500Ohm_Neg_4000V);
            HBM500OhmJS001Standard hbm500OhmJS001Standard = new HBM500OhmJS001Standard(waveform, -4000);

            // Assert that Peak Current value is within 1mA of expected
            Assert.AreEqual(-1.709, hbm500OhmJS001Standard.PeakCurrentValue, 0.001);

            // Assert that Peak Current min/max are within 1mA of expected
            Assert.AreEqual(-1.5, hbm500OhmJS001Standard.PeakCurrentAllowedMinimum, 0.001);
            Assert.AreEqual(-2.2, hbm500OhmJS001Standard.PeakCurrentAllowedMaximum, 0.001);

            // Assert that Peak Current is passing
            Assert.IsTrue(hbm500OhmJS001Standard.PeakCurrentIsPassing);

            // Assert that Rise Time is within 10ps of expected
            Assert.AreEqual(0.00000002292, hbm500OhmJS001Standard.RiseTimeValue, 0.000000000010);

            // Assert that Rise Time min/max are within 10ps of expected
            Assert.AreEqual(0.000000005, hbm500OhmJS001Standard.RiseTimeAllowedMinimum, 0.000000000010);
            Assert.AreEqual(0.000000025, hbm500OhmJS001Standard.RiseTimeAllowedMaximum, 0.000000000010);

            // Assert that Rise Time is passing
            Assert.IsTrue(hbm500OhmJS001Standard.RiseTimeIsPassing);
        }
Ejemplo n.º 2
0
        public void DecayMissingTest()
        {
            Waveform             waveform             = PublicStandardTestExtensions.ParseWaveformFromString(Properties.Resources.HBM_0Ohm_Pos_2500V_DecayMissing);
            HBM0OhmJS001Standard hbm0OhmJS001Standard = new HBM0OhmJS001Standard(waveform, 2500);

            // Assert that Peak Current value is within 1mA of expected
            double expectedPeakCurrent = 1.579;

            Assert.AreEqual(expectedPeakCurrent, hbm0OhmJS001Standard.PeakCurrentValue, 0.001);

            // Assert that Decay Time is within 100ps of expected
            Assert.AreEqual(0.0000001649, hbm0OhmJS001Standard.DecayTimeValue, 0.000000000100);
        }
        public void CDMJS002LargeNegativeHighBandwidthTest()
        {
            Waveform         waveform         = PublicStandardTestExtensions.ParseWaveformFromString(Properties.Resources.CDM_Large_Neg_1000V);
            CDMJS002Standard cdmJS002Standard = new CDMJS002Standard(waveform, -1000, true, true);

            // Assert that Peak Current value is within 1mA of expected
            Assert.AreEqual(-25.015, cdmJS002Standard.PeakCurrentValue, 0.001);

            // Assert that Peak Current min/max are within 1mA of expected
            Assert.AreEqual(-20.6, cdmJS002Standard.PeakCurrentAllowedMinimum, 0.001);
            Assert.AreEqual(-27.9, cdmJS002Standard.PeakCurrentAllowedMaximum, 0.001);

            // Assert that Peak Current is passing
            Assert.IsTrue(cdmJS002Standard.PeakCurrentIsPassing);

            // Assert that Rise Time is within 10ps of expected
            Assert.AreEqual(0.0000000003116, cdmJS002Standard.RiseTimeValue, 0.000000000010);

            // Assert that Rise Time max are within 10ps of expected
            Assert.AreEqual(0.000000000350, cdmJS002Standard.RiseTimeAllowedMaximum, 0.000000000010);

            // Assert that Rise Time is passing
            Assert.IsTrue(cdmJS002Standard.RiseTimeIsPassing);

            // Assert that Full Width at Half Max is within 10ps of expected
            Assert.AreEqual(0.0000000006756, cdmJS002Standard.FullWidthHalfMaxValue, 0.000000000010);

            // Assert that Full Width at Half Max min/max are within 10ps of expected
            Assert.AreEqual(0.000000000450, cdmJS002Standard.FullWidthHalfMaxAllowedMinimum, 0.000000000010);
            Assert.AreEqual(0.000000000900, cdmJS002Standard.FullWidthHalfMaxAllowedMaximum, 0.000000000010);

            // Assert that Full Width at Half Max is passing
            Assert.IsTrue(cdmJS002Standard.FullWidthHalfMaxIsPassing);

            // Assert that Undershoot is within 1mA of expected
            Assert.AreEqual(6.397, cdmJS002Standard.UndershootValue, 0.001);

            // Assert that Undershoot percent is as expected
            Assert.AreEqual(-0.5, cdmJS002Standard.UndershootAllowedMaximumPercent);

            // Assert that Undershoot max is within 1mA of expected
            Assert.AreEqual(12.507, cdmJS002Standard.UndershootAllowedMaximumValue, 0.001);

            // Assert that Undershoot is passing
            Assert.IsTrue(cdmJS002Standard.UndershootIsPassing);
        }
        public void CDMJS002LargePositiveHighBandwidthTest()
        {
            Waveform         waveform         = PublicStandardTestExtensions.ParseWaveformFromString(Properties.Resources.CDM_Large_Pos_0250V);
            CDMJS002Standard cdmJS002Standard = new CDMJS002Standard(waveform, 250, true, true);

            // Assert that Peak Current value is within 1mA of expected
            Assert.AreEqual(5.838, cdmJS002Standard.PeakCurrentValue, 0.001);

            // Assert that Peak Current min/max are within 1mA of expected
            Assert.AreEqual(4.8, cdmJS002Standard.PeakCurrentAllowedMinimum, 0.001);
            Assert.AreEqual(7.3, cdmJS002Standard.PeakCurrentAllowedMaximum, 0.001);

            // Assert that Peak Current is passing
            Assert.IsTrue(cdmJS002Standard.PeakCurrentIsPassing);

            // Assert that Rise Time is within 10ps of expected
            Assert.AreEqual(0.0000000003102, cdmJS002Standard.RiseTimeValue, 0.000000000010);

            // Assert that Rise Time max are within 10ps of expected
            Assert.AreEqual(0.000000000350, cdmJS002Standard.RiseTimeAllowedMaximum, 0.000000000010);

            // Assert that Rise Time is passing
            Assert.IsTrue(cdmJS002Standard.RiseTimeIsPassing);

            // Assert that Full Width at Half Max is within 10ps of expected
            Assert.AreEqual(0.0000000006688, cdmJS002Standard.FullWidthHalfMaxValue, 0.000000000010);

            // Assert that Full Width at Half Max min/max are within 10ps of expected
            Assert.AreEqual(0.000000000450, cdmJS002Standard.FullWidthHalfMaxAllowedMinimum, 0.000000000010);
            Assert.AreEqual(0.000000000900, cdmJS002Standard.FullWidthHalfMaxAllowedMaximum, 0.000000000010);

            // Assert that Full Width at Half Max is passing
            Assert.IsTrue(cdmJS002Standard.FullWidthHalfMaxIsPassing);

            // Assert that Undershoot is within 1mA of expected
            Assert.AreEqual(-0.982, cdmJS002Standard.UndershootValue, 0.001);

            // Assert that Undershoot percent is as expected
            Assert.AreEqual(-0.5, cdmJS002Standard.UndershootAllowedMaximumPercent);

            // Assert that Undershoot max is within 1mA of expected
            Assert.AreEqual(-2.919, cdmJS002Standard.UndershootAllowedMaximumValue, 0.001);

            // Assert that Undershoot is passing
            Assert.IsTrue(cdmJS002Standard.UndershootIsPassing);
        }
        public void CDMJS002SmallNegativeHighBandwidthTest()
        {
            Waveform         waveform         = PublicStandardTestExtensions.ParseWaveformFromString(Properties.Resources.CDM_Small_Neg_1000V);
            CDMJS002Standard cdmJS002Standard = new CDMJS002Standard(waveform, -1000, false, true);

            // Assert that Peak Current value is within 1mA of expected
            Assert.AreEqual(-14.733, cdmJS002Standard.PeakCurrentValue, 0.001);

            // Assert that Peak Current min/max are within 1mA of expected
            Assert.AreEqual(-12.2, cdmJS002Standard.PeakCurrentAllowedMinimum, 0.001);
            Assert.AreEqual(-16.5, cdmJS002Standard.PeakCurrentAllowedMaximum, 0.001);

            // Assert that Peak Current is passing
            Assert.IsTrue(cdmJS002Standard.PeakCurrentIsPassing);

            // Assert that Rise Time is within 10ps of expected
            Assert.AreEqual(0.0000000002118, cdmJS002Standard.RiseTimeValue, 0.000000000010);

            // Assert that Rise Time max are within 10ps of expected
            Assert.AreEqual(0.000000000250, cdmJS002Standard.RiseTimeAllowedMaximum, 0.000000000010);

            // Assert that Rise Time is passing
            Assert.IsTrue(cdmJS002Standard.RiseTimeIsPassing);

            // Assert that Full Width at Half Max is within 10ps of expected
            Assert.AreEqual(0.0000000004048, cdmJS002Standard.FullWidthHalfMaxValue, 0.000000000010);

            // Assert that Full Width at Half Max min/max are within 10ps of expected
            Assert.AreEqual(0.000000000250, cdmJS002Standard.FullWidthHalfMaxAllowedMinimum, 0.000000000010);
            Assert.AreEqual(0.000000000600, cdmJS002Standard.FullWidthHalfMaxAllowedMaximum, 0.000000000010);

            // Assert that Full Width at Half Max is passing
            Assert.IsTrue(cdmJS002Standard.FullWidthHalfMaxIsPassing);

            // Assert that Undershoot is within 1mA of expected
            Assert.AreEqual(7.38, cdmJS002Standard.UndershootValue, 0.001);

            // Assert that Undershoot percent is as expected
            Assert.AreEqual(-0.7, cdmJS002Standard.UndershootAllowedMaximumPercent);

            // Assert that Undershoot max is within 1mA of expected
            Assert.AreEqual(10.313, cdmJS002Standard.UndershootAllowedMaximumValue, 0.001);

            // Assert that Undershoot is passing
            Assert.IsTrue(cdmJS002Standard.UndershootIsPassing);
        }
        public void CDMJS002LargePositiveUndershootTest()
        {
            Waveform         waveform         = PublicStandardTestExtensions.ParseWaveformFromString(Properties.Resources.CDM_Small_Pos_1000V_PosUndershoot);
            CDMJS002Standard cdmJS002Standard = new CDMJS002Standard(waveform, 1000, false, false);

            // Assert that Peak Current value is within 1mA of expected
            Assert.AreEqual(10.99, cdmJS002Standard.PeakCurrentValue, 0.01);

            // Assert that Peak Current min/max are within 1mA of expected
            Assert.AreEqual(8.8, cdmJS002Standard.PeakCurrentAllowedMinimum, 0.001);
            Assert.AreEqual(11.9, cdmJS002Standard.PeakCurrentAllowedMaximum, 0.001);

            // Assert that Peak Current is passing
            Assert.IsTrue(cdmJS002Standard.PeakCurrentIsPassing);

            // Assert that Rise Time is within 10ps of expected
            Assert.AreEqual(0.0000000002819, cdmJS002Standard.RiseTimeValue, 0.000000000010);

            // Assert that Rise Time max are within 10ps of expected
            Assert.AreEqual(0.000000000350, cdmJS002Standard.RiseTimeAllowedMaximum, 0.000000000010);

            // Assert that Rise Time is passing
            Assert.IsTrue(cdmJS002Standard.RiseTimeIsPassing);

            // Assert that Full Width at Half Max is within 10ps of expected
            Assert.AreEqual(0.0000000004196, cdmJS002Standard.FullWidthHalfMaxValue, 0.000000000010);

            // Assert that Full Width at Half Max min/max are within 10ps of expected
            Assert.AreEqual(0.000000000325, cdmJS002Standard.FullWidthHalfMaxAllowedMinimum, 0.000000000010);
            Assert.AreEqual(0.000000000725, cdmJS002Standard.FullWidthHalfMaxAllowedMaximum, 0.000000000010);

            // Assert that Full Width at Half Max is passing
            Assert.IsTrue(cdmJS002Standard.FullWidthHalfMaxIsPassing);

            // Assert that Undershoot is within 1mA of expected
            Assert.AreEqual(0, cdmJS002Standard.UndershootValue, 0.001);

            // Assert that Undershoot percent is as expected
            Assert.AreEqual(-0.7, cdmJS002Standard.UndershootAllowedMaximumPercent);

            // Assert that Undershoot max is within 1mA of expected
            Assert.AreEqual(-7.692, cdmJS002Standard.UndershootAllowedMaximumValue, 0.001);

            // Assert that Undershoot is passing
            Assert.IsTrue(cdmJS002Standard.UndershootIsPassing);
        }
Ejemplo n.º 7
0
        public void NegativeNoNoiseCompensationTest()
        {
            Waveform             waveform             = PublicStandardTestExtensions.ParseWaveformFromString(Properties.Resources.HBM_0Ohm_Neg_8000V);
            HBM0OhmJS001Standard hbm0OhmJS001Standard = new HBM0OhmJS001Standard(waveform, -8000);

            // Assert that Peak Current value is within 1mA of expected
            Assert.AreEqual(-5.424, hbm0OhmJS001Standard.PeakCurrentValue, 0.001);

            // Assert that Peak Current min/max are within 1mA of expected
            Assert.AreEqual(-4.8, hbm0OhmJS001Standard.PeakCurrentAllowedMinimum, 0.001);
            Assert.AreEqual(-5.87, hbm0OhmJS001Standard.PeakCurrentAllowedMaximum, 0.001);

            // Assert that Peak Current is passing
            Assert.IsTrue(hbm0OhmJS001Standard.PeakCurrentIsPassing);

            // Assert that Rise Time is within 10ps of expected
            Assert.AreEqual(0.000000007845, hbm0OhmJS001Standard.RiseTimeValue, 0.000000000010);

            // Assert that Rise Time min/max are within 10ps of expected
            Assert.AreEqual(0.000000002, hbm0OhmJS001Standard.RiseTimeAllowedMinimum, 0.000000000010);
            Assert.AreEqual(0.000000010, hbm0OhmJS001Standard.RiseTimeAllowedMaximum, 0.000000000010);

            // Assert that Rise Time is passing
            Assert.IsTrue(hbm0OhmJS001Standard.RiseTimeIsPassing);

            // Assert that Decay Time is within 10ps of expected
            Assert.AreEqual(0.000000167932, hbm0OhmJS001Standard.DecayTimeValue, 0.000000000010);

            // Assert that Decay Time min/max are within 10ps of expected
            Assert.AreEqual(0.000000130, hbm0OhmJS001Standard.DecayTimeAllowedMinimum, 0.000000000010);
            Assert.AreEqual(0.000000170, hbm0OhmJS001Standard.DecayTimeAllowedMaximum, 0.000000000010);

            // Assert that Decay Time is passing
            Assert.IsTrue(hbm0OhmJS001Standard.DecayTimeIsPassing);

            // Assert that Ring % is within 0.01% of expected
            Assert.AreEqual(0.0161992, hbm0OhmJS001Standard.TotalRingPercentValue, 0.0001);

            // Assert that Ring % Max is within 0.01% of expected
            Assert.AreEqual(0.15, hbm0OhmJS001Standard.TotalRingAllowedMaximum, 0.0001);
        }