示例#1
0
 def testIndexForSampling(self):
     d_0 = distribs.Continuous('x', 0, 2)
     d_1 = distribs.Discrete('x', [1, 3])
     d = distribs.Intersection((d_0, d_1), index_for_sampling=1)
     d.sample()
     with self.assertRaises(ValueError):
         d = distribs.Intersection((d_0, d_1), index_for_sampling=0)
         d.sample()
示例#2
0
    def testKeys(self):
        d_0 = distribs.Product(
            (distribs.Continuous('x', 0, 2), distribs.Continuous('y', 0, 1)))
        d_1 = distribs.Product(
            (distribs.Continuous('x', 0, 1), distribs.Continuous('y', 0, 0.5)))
        d_2 = distribs.Continuous('x', 0.4, 0.6)

        distribs.Intersection((d_0, d_1))
        with self.assertRaises(ValueError):
            distribs.Intersection((d_0, d_2))
示例#3
0
 def testSamplingContainmentIntersectionMultiple(self):
     dists = [
         distribs.Discrete('x', [1, 2.5, 3, 4, 6]),
         distribs.Discrete('x', [1, 2.5, 3, 12]),
         distribs.Continuous('x', 0, 5),
         distribs.Continuous('x', 2, 10),
     ]
     contained = [2.5, 3]
     not_contained = [1, 4, 8]
     d = distribs.Intersection(dists)
     contained = [{'x': value} for value in contained]
     not_contained = [{'x': value} for value in not_contained]
     test_sampling_and_containment(self, d, contained, not_contained)
示例#4
0
 def testRaisesError(self):
     d_0 = distribs.Continuous('x', 0, 1)
     d_1 = distribs.Continuous('x', 2, 3)
     d = distribs.Intersection((d_0, d_1))
     with self.assertRaises(ValueError):
         d.sample()
示例#5
0
 def testSamplingContainmentIntersectionTwo(self, d_0, d_1, contained,
                                            not_contained):
     d = distribs.Intersection((d_0, d_1))
     contained = [{'x': value} for value in contained]
     not_contained = [{'x': value} for value in not_contained]
     test_sampling_and_containment(self, d, contained, not_contained)