def given_no_information_when_asked_to_guess_test():
  # given
  number_guesser = NumberGuesser()
  # when
  guessed_number = number_guesser.guess()
  # then
  assert guessed_number is None, 'there should be no guess.'
def given_one_datapoint_when_asked_to_guess_test():
    number_guesser = NumberGuesser()
    previously_chosen_number = 5
    number_guesser.number_was(previously_chosen_number)
    guessed_number = number_guesser.guess()
    assert type(guessed_number) is int, 'the answer should be a number'
    assert guessed_number == previously_chosen_number, 'the answer should be previously chosen number.'
def given_no_information_when_asked_to_guess_test():
    # given
    number_guesser = NumberGuesser()
    # when
    result = number_guesser.guess()
    # then
    assert result is None, "Then it should provide no result."
def given_no_information_when_asked_to_guess_test():
  # given
  number_guesser = NumberGuesser()
  # when
  guessed_number = number_guesser.guess()
  # then
  assert guessed_number is None, 'there should be no guess.'
def given_multiple_datapoints_when_asked_to_guess_many_times_test():
    number_guesser = NumberGuesser()
    previously_chosen_numbers = [1,2,5]
    number_guesser.numbers_were(previously_chosen_numbers)
    guessed_numbers = [number_guesser.guess() for i in range(0,100)]
    for guessed_number in guessed_numbers:
        assert guessed_number in previously_chosen_numbers, 'every guess should be one of the previously chosen numbers'
        assert len(set(guessed_numbers)) > 1, "It shouldn't always guess the same number"
def given_two_datapoints_when_asked_to_guess_test():
    # given
    number_guesser = NumberGuesser()
    previously_chosen_numbers = [1, 2, 5]
    number_guesser.numbers_were(previously_chosen_numbers)
    # when
    guessed_number = number_guesser.guess()
    # then
    assert guessed_number in previously_chosen_numbers, 'the guess should be one of the previously chosen numbers'
def given_one_datapoint_when_asked_to_guess_test():
  #given
  number_guesser = NumberGuesser()
  previously_chosen_number = 5
  number_guesser.number_was(previously_chosen_number)
  #when
  guessed_number = number_guesser.guess()
  #then
  assert type(guessed_number) is int, 'the answer should be a number'
  assert guessed_number == previously_chosen_number, 'the answer should be the previously chosen number.'
def given_multiple_datapoints_when_asked_to_guess_many_times_test():
  #given
  number_guesser = NumberGuesser()
  previously_chosen_numbers = [1,2,5]
  number_guesser.numbers_were(previously_chosen_numbers)
  #when
  guessed_numbers = [number_guesser.guess() for i in range(0,100)]
  #then
  for guessed_number in guessed_numbers:
    assert guessed_number in previously_chosen_numbers, 'every guess should be one of the previously chosen numbers'
  assert len(set(guessed_numbers)) > 1, "It shouldn't always guess the same number."
예제 #9
0
def given_no_information_when_asked_to_guess_test():

    # given - Generally,    'Given this scenario'
    #         In this case, 'Given no prior information for NumberGuesser'
    number_guesser = NumberGuesser()

    # when - Generally, 'When this happens ...'
    #        In this case, 'When NumberGuesser guesses a number...'
    result = number_guesser.guess()

    # then
    assert result is None, "Then it should provide no result."
예제 #10
0
def given_a_one_off_observation_followed_by_a_set_of_observations_test():

    # given
    number_guesser = NumberGuesser()

    previously_chosen_numbers = [1, 2]

    one_off_observation = 0

    all_observations = previously_chosen_numbers + [one_off_observation]

    number_guesser.number_was(one_off_observation)
    number_guesser.numbers_were(previously_chosen_numbers)

    # when
    guessed_numbers = [number_guesser.guess() for i in range(0, 100)]

    # then
    for guessed_number in guessed_numbers:

        assert guessed_number in all_observations, \
            'every guess should be one of the previously chosen numbers'

        # testSet = set(guessed_numbers)

        assert len(set(guessed_numbers)) == len(all_observations), \
            "It should eventually guess every number at least once."
예제 #11
0
def given_a_starting_set_of_observations_followed_by_a_one_off_observation_test():
    number_guesser = NumberGuesser()
    previously_chosen_numbers = [1, 2, 5]
    number_guesser.numbers_were(previously_chosen_numbers)
    one_off_observation = 0
    number_guesser.number_was(one_off_observation)

    guessed_numbers = [number_guesser.guess() for i in range(0, 100)]

    for guessed_number in guessed_numbers:
        assert guessed_number in previously_chosen_numbers + [one_off_observation], 'every guess should be one of the previously chosen numbers'
        assert len(set(guessed_numbers)) > 1, "It shouldn't always guess the same number"
def given_a_starting_set_of_observations_followed_by_a_one_off_observation_test():
    #given
  number_guesser = NumberGuesser()
  previously_chosen_numbers = [1,2,5]
  number_guesser.numbers_were(previously_chosen_numbers)
  one_off_observation = 0
  number_guesser.number_was(one_off_observation)
  #when
  guessed_numbers = [number_guesser.guess() for i in range(0,100)]
  #then
  for guessed_number in guessed_numbers:
    assert guessed_number in previously_chosen_numbers + [one_off_observation], 'every guess should be one of the previously chosen numbers'
  assert len(set(guessed_numbers)) > 1, "It shouldn't always guess the same number."
def given_a_one_off_observation_followed_by_a_set_of_observations_test():
  #given
  number_guesser = NumberGuesser()
  print number_guesser._guessed_numbers
  previously_chosen_numbers = [1,2]
  one_off_observation = 0
  number_guesser.number_was(one_off_observation)
  number_guesser.numbers_were(previously_chosen_numbers)

  all_observations = previously_chosen_numbers + [one_off_observation]
  #when
  guessed_numbers = [number_guesser.guess() for i in range(0,100)]
  #then
  for guessed_number in guessed_numbers:
    print guessed_number, all_observations
    assert guessed_number in all_observations, 'every guess should be one of the previously chosen numbers'
  assert len(set(guessed_numbers)) == len(all_observations), "It should eventually guess every number at least once."
def given_training_data_with_unique_values():
	training_data = [3,1,4,5,7,6,2]
	number_guesser = NumberGuesser(training_data)
	result = number_guesser.guess()

	assert result in training_data, "Then, it should guess training values only."
def given_one_training_value_test():
	training_data = [3]
	number_guesser = NumberGuesser(training_data)
	result = number_guesser.guess()

	assert result in training_data, "Then, it should guess training values only."