File: test_faker_tea.rb

package info (click to toggle)
ruby-faker 3.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,596 kB
  • sloc: ruby: 20,656; sh: 6; makefile: 6
file content (31 lines) | stat: -rw-r--r-- 810 bytes parent folder | download
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
# frozen_string_literal: true

require_relative '../../test_helper'

class TestFakerTea < Test::Unit::TestCase
  def setup
    @tester = Faker::Tea
    @types = Faker::Base.fetch_all('tea.type')
    @varieties_by_type = @types.to_h do |type|
      [type, Faker::Base.fetch_all("tea.variety.#{type.downcase}")]
    end
    @varieties = @varieties_by_type.values.flatten
  end

  def test_variety
    assert(@varieties.all? do |variety|
      variety.match?(/^(?:[A-Z]['.\-a-z]+[\s-])*(?:[A-Z]['.\-a-z]+)$/)
    end)
    assert_includes @varieties, @tester.variety
  end

  def test_variety_with_argument
    @types.each do |type|
      assert_includes @varieties_by_type[type], @tester.variety(type: type)
    end
  end

  def test_types
    assert @types.all? { |type| type.match?(/^[A-Z][a-z]+$/) }
  end
end