def test_makePDFBaseline(self):
     '''check the makePDFBaseline wrapper.
     '''
     pbl = makePDFBaseline('parabolabaseline',
             parabola_baseline, a=1, b=2, c=3)
     self.assertEqual(3, pbl(0))
     self.assertEqual(6, pbl(1))
     self.assertEqual(11, pbl(2))
     pbl.b = 0
     self.assertEqual([7, 3, 28], map(pbl, [-2, 0, 5]))
     pbl2 = pbl.clone()
     self.assertEqual(1, pbl2.a)
     self.assertEqual(0, pbl2.b)
     self.assertEqual(3, pbl2.c)
     self.assertEqual([7, 3, 28], map(pbl2, [-2, 0, 5]))
     pbl3 = PDFBaseline.createByType('parabolabaseline')
     self.assertEqual(1, pbl3.a)
     self.assertEqual(2, pbl3.b)
     self.assertEqual(3, pbl3.c)
     # fail if this baseline type already exists.
     self.assertRaises(RuntimeError, makePDFBaseline, 'linear',
                       parabola_baseline, a=1, b=2, c=3)
     self.assertRaises(RuntimeError, makePDFBaseline, 'parabolabaseline',
                       parabola_baseline, a=1, b=2, c=3)
     # check replacement of an existing type.
     makePDFBaseline('linear', parabola_baseline, replace=True,
                     a=1, b=2, c=4)
     pbl4 = PDFBaseline.createByType('linear')
     self.assertEqual(set(('a', 'b', 'c')), pbl4._namesOfDoubleAttributes())
     self.assertEqual(4, pbl4.c)
     # check baseline with no attributes
     pbl5 = makePDFBaseline('myzero', lambda x: 0.0)
     self.assertEqual(0, pbl5(33))
     self.assertEqual(set(), pbl5._namesOfDoubleAttributes())
     return
 def test_makePDFBaseline(self):
     '''check the makePDFBaseline wrapper.
     '''
     pbl = makePDFBaseline('parabolabaseline',
                           parabola_baseline,
                           a=1,
                           b=2,
                           c=3)
     self.assertEqual(3, pbl(0))
     self.assertEqual(6, pbl(1))
     self.assertEqual(11, pbl(2))
     pbl.b = 0
     self.assertEqual([7, 3, 28], [pbl(x) for x in [-2, 0, 5]])
     pbl2 = pbl.clone()
     self.assertEqual(1, pbl2.a)
     self.assertEqual(0, pbl2.b)
     self.assertEqual(3, pbl2.c)
     self.assertEqual([7, 3, 28], [pbl2(x) for x in [-2, 0, 5]])
     pbl3 = PDFBaseline.createByType('parabolabaseline')
     self.assertEqual(1, pbl3.a)
     self.assertEqual(2, pbl3.b)
     self.assertEqual(3, pbl3.c)
     pbl.foo = 'bar'
     pbl4 = pickle.loads(pickle.dumps(pbl))
     self.assertEqual([7, 3, 28], [pbl4(x) for x in [-2, 0, 5]])
     self.assertEqual('bar', pbl4.foo)
     # fail if this baseline type already exists.
     self.assertRaises(RuntimeError,
                       makePDFBaseline,
                       'linear',
                       parabola_baseline,
                       a=1,
                       b=2,
                       c=3)
     self.assertRaises(RuntimeError,
                       makePDFBaseline,
                       'parabolabaseline',
                       parabola_baseline,
                       a=1,
                       b=2,
                       c=3)
     # check replacement of an existing type.
     makePDFBaseline('linear',
                     parabola_baseline,
                     replace=True,
                     a=1,
                     b=2,
                     c=4)
     pbl4 = PDFBaseline.createByType('linear')
     self.assertEqual(set(('a', 'b', 'c')), pbl4._namesOfDoubleAttributes())
     self.assertEqual(4, pbl4.c)
     # check baseline with no attributes
     pbl5 = makePDFBaseline('myzero', lambda x: 0.0)
     self.assertEqual(0, pbl5(33))
     self.assertEqual(set(), pbl5._namesOfDoubleAttributes())
     return
Esempio n. 3
0
 def test_picking_owned(self):
     '''verify pickling of PDFBaseline owned by PDF calculators.
     '''
     pbl = makePDFBaseline('parabolabaseline',
             parabola_baseline, a=1, b=2, c=3)
     pbl.a = 7
     pbl.foobar = 'asdf'
     pc = PDFCalculator()
     pc.baseline = pbl
     self.assertIs(pbl, pc.baseline)
     pc2 = pickle.loads(pickle.dumps(pc))
     pbl2 = pc2.baseline
     self.assertEqual(7, pbl2.a)
     self.assertEqual('asdf', pbl2.foobar)
     self.assertEqual('parabolabaseline', pbl2.type())
     return
 def test_picking_owned(self):
     '''verify pickling of PDFBaseline owned by PDF calculators.
     '''
     pbl = makePDFBaseline('parabolabaseline',
                           parabola_baseline,
                           a=1,
                           b=2,
                           c=3)
     pbl.a = 7
     pbl.foobar = 'asdf'
     pc = PDFCalculator()
     pc.baseline = pbl
     self.assertIs(pbl, pc.baseline)
     pc2 = pickle.loads(pickle.dumps(pc))
     pbl2 = pc2.baseline
     self.assertEqual(7, pbl2.a)
     self.assertEqual('asdf', pbl2.foobar)
     self.assertEqual('parabolabaseline', pbl2.type())
     return
 def test_makePDFBaseline(self):
     '''check the makePDFBaseline wrapper.
     '''
     pbl = makePDFBaseline('parabolabaseline',
             parabola_baseline, a=1, b=2, c=3)
     self.assertEqual(3, pbl(0))
     self.assertEqual(6, pbl(1))
     self.assertEqual(11, pbl(2))
     pbl.b = 0
     self.assertEqual([7, 3, 28], map(pbl, [-2, 0, 5]))
     pbl2 = pbl.clone()
     self.assertEqual(1, pbl2.a)
     self.assertEqual(0, pbl2.b)
     self.assertEqual(3, pbl2.c)
     self.assertEqual([7, 3, 28], map(pbl2, [-2, 0, 5]))
     pbl3 = PDFBaseline.createByType('parabolabaseline')
     self.assertEqual(1, pbl3.a)
     self.assertEqual(2, pbl3.b)
     self.assertEqual(3, pbl3.c)
     return
Esempio n. 6
0
 def test_makePDFBaseline(self):
     '''check the makePDFBaseline wrapper.
     '''
     pbl = makePDFBaseline('parabolabaseline',
                           parabola_baseline,
                           a=1,
                           b=2,
                           c=3)
     self.assertEqual(3, pbl(0))
     self.assertEqual(6, pbl(1))
     self.assertEqual(11, pbl(2))
     pbl.b = 0
     self.assertEqual([7, 3, 28], map(pbl, [-2, 0, 5]))
     pbl2 = pbl.clone()
     self.assertEqual(1, pbl2.a)
     self.assertEqual(0, pbl2.b)
     self.assertEqual(3, pbl2.c)
     self.assertEqual([7, 3, 28], map(pbl2, [-2, 0, 5]))
     pbl3 = PDFBaseline.createByType('parabolabaseline')
     self.assertEqual(1, pbl3.a)
     self.assertEqual(2, pbl3.b)
     self.assertEqual(3, pbl3.c)
     return