def test600_930ShouldRaiseExceptionOnNonNumericT(self): expectedString = "Sample.p:" mySample = SM.Sample(self.nominalN) with self.assertRaises(ValueError) as context: mySample.p(t="abc", tails=1) self.assertEquals(expectedString, context.exception.args[0][0:len(expectedString)])
def test700_010_ShouldBeOneHalve(self): mySample = SM.Sample(self.nominalN) def f1(u, n): return u self.assertAlmostEquals(mySample.integrate(0, 1.0, 2, f1), 0.5)
def test500_010_ShouldIntegrateNominalU2(self): my_sample = SM.Sample(self.nominalN) def f(u, n): return u**2 self.assertAlmostEquals(my_sample.integrate(0.0, 1, 6, f), 0.333, 1)
def test700_011_ShouldBeOneThird(self): mySample = SM.Sample(self.nominalN) def f1(u, n): return u**2 self.assertAlmostEquals(mySample.integrate(0, 1.0, 2, f1), 0.33333333)
def test700_012_ShouldBeOneSeventh(self): mySample = SM.Sample(self.nominalN) def f1(u, n): return u**6 self.assertAlmostEquals(mySample.integrate(0, 1.0, 2, f1), 0.14285714285)
def test500_010_ShouldIntegrateNominalU100(self): my_sample = SM.Sample(self.nominalN) def f(u, n): return u**100 self.assertAlmostEquals(my_sample.integrate(0.0, 1, 6, f), 1.0 / 101.0, 3)
def test700_013_ShouldBeOne101(self): mySample = SM.Sample(self.nominalN) def f1(u, n): return u**100 self.assertAlmostEquals(mySample.integrate(0, 1.0, 2, f1), 0.00990099009)
def test500_030_Poly(self): mysample = SM.Sample(self.nominalN) highbound = 1.0 def f(u, n): return u**2 self.assertAlmostEquals( mysample.integrate(0.0, highbound, mysample.getN(), f), .33, 2)
def test500_010_Constant(self): mysample = SM.Sample(self.nominalN) highbound = 1.0 def f(u, n): return 10 self.assertAlmostEquals( mysample.integrate(0.0, highbound, mysample.getN(), f), 10, 2)
def test500_020_SingleVariable(self): mysample = SM.Sample(self.nominalN) highbound = 1.0 def f(u, n): return u self.assertAlmostEquals( mysample.integrate(0.0, highbound, mysample.getN(), f), .5, 2)
def test500_010_ShouldCalculateIntegrate(self): def testFunction1(u, n): return u**2 def testFunction2(u, n): return u**6 mySample = SM.Sample(self.nominalN) self.assertAlmostEquals(mySample.integrate(0.0, 1.0, 1, testFunction1), 0.33333, 4) self.assertAlmostEquals(mySample.integrate(0.0, 1.0, 1, testFunction2), 0.14285, 4)
def test400_020_ShouldCalculateF(self): mySample = SM.Sample(self.nominalN) self.assertAlmostEquals(mySample.f(1, 5), 0.578703704)
def test400_010_ShouldCalculateFStarterCase(self): mySample = SM.Sample(self.nominalN) self.assertAlmostEquals(mySample.f(0, 5), 1, 4)
def test300_010_ShouldCalculateLHP(self): mySample = SM.Sample(self.nominalN) self.assertAlmostEquals(mySample.calculateConstant(5), 0.37960669, 4)
def test200_030_ShouldWorkOnHalfX(self): mySample = SM.Sample(self.nominalN) self.assertAlmostEquals(mySample.gamma(5.0 / 2.0), 1.329, 3)
def test200_030_ShouldWorkOnIntegerX(self): mySample = SM.Sample(self.nominalN) self.assertEquals(mySample.gamma(5), 24)
def test600_060ShouldCalculateHighNLowT2TailEdgeCase(self): mySample = SM.Sample(20) self.assertAlmostEquals(mySample.p(0.2567, 2), 0.200, 3)
def test500_040_ShouldIntegrateWithCustomF4(self): mySample = SM.Sample(self.nominalN) self.assertAlmostEquals( mySample.integrate(0, 1, 1, lambda u, n: u**100), 1.0 / 101, 3)
def test500_040_Algorithm(self): mysample = SM.Sample(8) highbound = 10 self.assertAlmostEqual( mysample.integrate(0.0, highbound, mysample.getN(), mysample.f), 1.29, 2)
def test100_940_ShouldRaiseExceptionOnMissingN(self): expectedString = "Sample.__init__:" with self.assertRaises(ValueError) as context: SM.Sample() self.assertEquals(expectedString, context.exception.args[0][0:len(expectedString)])
def test600_110ShouldCalculateCalculateWithDefaultTails(self): mySample = SM.Sample(7) self.assertAlmostEquals(mySample.p(1.8946), .950, 3)
def test600_100ShouldCalculateHighHighT2TailEdgeCase(self): mySample = SM.Sample(20) self.assertAlmostEquals(mySample.p(2.8453, 2), .990, 3)
def test600_090ShouldCalculateHighHighT1TailEdgeCase(self): mySample = SM.Sample(20) self.assertAlmostEquals(mySample.p(2.8453, 1), .995, 3)
def test600_080ShouldCalculateLowNHighT2EdgeCase(self): mySample = SM.Sample(3) self.assertAlmostEquals(mySample.p(5.8409, 2), .990, 3)
def test200_020_ShouldReturnLowerTerminationCondition(self): mySample = SM.Sample(self.nominalN) self.assertEquals(mySample.gamma(1.0 / 2.0), math.sqrt(math.pi))
def test600_040ShouldCalculateLowNLowT2TailEdgeCase(self): mySample = SM.Sample(3) self.assertAlmostEquals(mySample.p(0.2767, 2), 0.200, 3)
def test100_010_ShouldConstruct(self): self.assertIsInstance(SM.Sample(self.nominalN), SM.Sample) # additional tests are for boundary value coverage self.assertIsInstance(SM.Sample(2), SM.Sample) self.assertIsInstance(SM.Sample(29), SM.Sample)
def test200_010_ShouldReturnUpperTerminationCondition(self): mySample = SM.Sample(self.nominalN) self.assertEquals(mySample.gamma(1), 1)
def test600_010ShouldCalculateNominalCase1Tail(self): mySample = SM.Sample(7) self.assertAlmostEquals(mySample.p(1.8946, 1), .950, 3)
def test600_930ShouldRaiseExceptionInvalidTails(self): mySample = SM.Sample(self.nominalN) with self.assertRaises(ValueError) as context: mySample.p(t=self.nominalT, tails=0)