1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
# frozen_string_literal: true
require_relative 'helper'
class TestUniqueUtils < Test::Unit::TestCase
def test_generates_unique_values
unique_object = FFaker::UniqueUtils.new(FFaker::Name, 10_000)
result = [unique_object.name, unique_object.name]
assert_operator(result[0], :!=, result[1])
end
def test_returns_error_when_retries_exceeded
stubbed_generator = Object.new
def stubbed_generator.test
1
end
unique_object = FFaker::UniqueUtils.new(stubbed_generator, 3)
unique_object.test
assert_raises FFaker::UniqueUtils::RetryLimitExceeded do
unique_object.test
end
end
def test_clears_unique_values
stubbed_generator = Object.new
def stubbed_generator.test
1
end
unique_object = FFaker::UniqueUtils.new(stubbed_generator, 3)
assert_equal(1, unique_object.test)
assert_raises FFaker::UniqueUtils::RetryLimitExceeded do
unique_object.test
end
unique_object.clear
assert_equal(1, unique_object.test)
end
def test_clears_all_unique_values
stubbed_generator = Object.new
def stubbed_generator.test
1
end
other_stubbed_generator = Object.new
def other_stubbed_generator.test
1
end
unique_object = FFaker::UniqueUtils.add_instance(stubbed_generator, 3)
other_unique_object = FFaker::UniqueUtils.add_instance(other_stubbed_generator, 3)
[unique_object, other_unique_object].each do |tested_unique_object|
assert_equal(1, tested_unique_object.test)
assert_raises FFaker::UniqueUtils::RetryLimitExceeded do
tested_unique_object.test
end
end
FFaker::UniqueUtils.clear
[unique_object, other_unique_object].each do |tested_unique_object|
assert_equal(1, tested_unique_object.test)
end
end
def test_generates_unique_numbers
assert_nothing_raised { FFaker::Number.unique.number(digits: 1) }
end
end
|