Example #1
0
 def __init__(self, seed, parameter, generator, changed=0):
     self.seed = seed
     self.parameter_seed = parameter
     self.changed = changed
     if isinstance(generator, Stream):
         self.stream = generator
     else:
         self.stream = Stream(generator)
Example #2
0
class StreamTemplate(object):

    def __init__(self, seed, parameter, generator, changed=0):
        self.seed = seed
        self.parameter_seed = parameter
        self.changed = changed
        if isinstance(generator, Stream):
            self.stream = generator
        else:
            self.stream = Stream(generator)

    def __repr__(self):
        return u('StreamTemplate(%r, %r, (%s))') % (
            self.seed, self.parameter_seed,
            u(', ').join(map(show, self.stream[:self.changed]))
        )

    def __eq__(self, other):
        if not isinstance(other, StreamTemplate):
            return False
        if self.seed != other.seed:
            return False
        if self.parameter_seed != other.parameter_seed:
            return False
        common_max = max(self.changed, other.changed)
        return (
            list(self.stream[:common_max]) ==
            list(other.stream[:common_max])
        )

    def __ne__(self, other):
        return not self.__eq__(other)

    def __hash__(self):
        return hash(self.seed ^ self.parameter_seed)

    def with_value(self, i, value):
        return StreamTemplate(
            self.seed, self.parameter_seed,
            self.stream.with_value(i, value),
            max(i + 1, self.changed)
        )

    def with_values(self, updates):
        updates = list(updates)
        return StreamTemplate(
            self.seed, self.parameter_seed,
            self.stream.with_values(updates),
            max(self.changed, max(i + 1 for i, _ in updates))
        )

    def __trackas__(self):
        return (u('StreamTemplate'), self.seed, list(self.stream[:self.changed]))
Example #3
0
 def __init__(self, seed, parameter, generator, changed=0):
     self.seed = seed
     self.parameter_seed = parameter
     self.changed = changed
     if isinstance(generator, Stream):
         self.stream = generator
     else:
         self.stream = Stream(generator)
Example #4
0
    def do_draw(self, data):
        data.can_reproduce_example_from_repr = False

        def gen():
            while True:
                yield data.draw(self.source_strategy)

        return Stream(gen())
Example #5
0
class StreamTemplate(object):
    def __init__(self, seed, parameter, generator, changed=0):
        self.seed = seed
        self.parameter_seed = parameter
        self.changed = changed
        if isinstance(generator, Stream):
            self.stream = generator
        else:
            self.stream = Stream(generator)

    def __repr__(self):
        return u'StreamTemplate(%r, %r, (%s))' % (
            self.seed, self.parameter_seed, u', '.join(
                map(show, self.stream[:self.changed])))

    def __eq__(self, other):
        if not isinstance(other, StreamTemplate):
            return False
        if self.seed != other.seed:
            return False
        if self.parameter_seed != other.parameter_seed:
            return False
        common_max = max(self.changed, other.changed)
        return (list(self.stream[:common_max]) == list(
            other.stream[:common_max]))

    def __ne__(self, other):
        return not self.__eq__(other)

    def __hash__(self):
        return hash(self.seed ^ self.parameter_seed)

    def with_value(self, i, value):
        return StreamTemplate(self.seed, self.parameter_seed,
                              self.stream.with_value(i, value),
                              max(i + 1, self.changed))

    def with_values(self, updates):
        updates = list(updates)
        return StreamTemplate(
            self.seed, self.parameter_seed, self.stream.with_values(updates),
            max(self.changed, max(i + 1 for i, _ in updates)))

    def __trackas__(self):
        return (u'StreamTemplate', self.seed, list(self.stream[:self.changed]))
Example #6
0
    def do_draw(self, data):
        def gen():
            while True:
                yield data.draw(self.source_strategy)

        return Stream(gen())