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()
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))
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)
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()
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)