def test_compose_heterogenous(self): builder = dp_event_builder.DpEventBuilder() builder.compose(_poisson_event) builder.compose(_gaussian_event) builder.compose(_gaussian_event, 2) builder.compose(_poisson_event) expected_event = dp_event.ComposedDpEvent( [_poisson_event, _self_composed_event, _poisson_event]) self.assertEqual(expected_event, builder.build())
def test_compose_composed(self): builder = dp_event_builder.DpEventBuilder() composed_event = dp_event.ComposedDpEvent( [_gaussian_event, _poisson_event, _self_composed_event]) builder.compose(_gaussian_event) builder.compose(composed_event) builder.compose(composed_event, 2) builder.compose(_poisson_event) builder.compose(_poisson_event) expected_event = dp_event.ComposedDpEvent([ _gaussian_event, dp_event.SelfComposedDpEvent(composed_event, 3), dp_event.SelfComposedDpEvent(_poisson_event, 2) ]) self.assertEqual(expected_event, builder.build())
def test_compose_self(self): builder = dp_event_builder.DpEventBuilder() builder.compose(_gaussian_event) builder.compose(_gaussian_event, 2) self.assertEqual(_self_composed_event, builder.build())
def test_compose_no_op(self): builder = dp_event_builder.DpEventBuilder() builder.compose(dp_event.NoOpDpEvent()) builder.compose(_gaussian_event) builder.compose(dp_event.NoOpDpEvent()) self.assertEqual(_gaussian_event, builder.build())
def test_single_laplace(self): builder = dp_event_builder.DpEventBuilder() builder.compose(_laplace_event) self.assertEqual(_laplace_event, builder.build())
def test_single_gaussian(self): builder = dp_event_builder.DpEventBuilder() builder.compose(_gaussian_event) self.assertEqual(_gaussian_event, builder.build())
def test_no_op(self): builder = dp_event_builder.DpEventBuilder() self.assertEqual(dp_event.NoOpDpEvent(), builder.build())
def __init__(self, neighboring_relation: NeighboringRelation): self._neighboring_relation = neighboring_relation self._ledger = dp_event_builder.DpEventBuilder()