From 612f3a1d86e0dfbb0a7081969a54870850f2bb53 Mon Sep 17 00:00:00 2001 From: Evan Brodie Date: Wed, 13 Feb 2019 22:21:19 -0500 Subject: [PATCH] Adds the Faker::Sports::Basketball generator --- doc/sports/basketball.md | 11 +++ lib/faker/sports/basketball.rb | 25 ++++++ lib/locales/en/basketball.yml | 99 ++++++++++++++++++++++ test/faker/sports/test_faker_basketball.rb | 25 ++++++ test/test_determinism.rb | 2 +- 5 files changed, 161 insertions(+), 1 deletion(-) create mode 100644 doc/sports/basketball.md create mode 100644 lib/faker/sports/basketball.rb create mode 100644 lib/locales/en/basketball.yml create mode 100644 test/faker/sports/test_faker_basketball.rb diff --git a/doc/sports/basketball.md b/doc/sports/basketball.md new file mode 100644 index 0000000000..7d1962dd67 --- /dev/null +++ b/doc/sports/basketball.md @@ -0,0 +1,11 @@ +# Faker::Sports::Basketball + +```ruby +Faker::Sports::Basketball.team #=> "Golden State Warriors" + +Faker::Sports::Basketball.player #=> "LeBron James" + +Faker::Sports::Basketball.coach #=> "Gregg Popovich" + +Faker::Sports::Basketball.position #=> "Point Guard" +``` diff --git a/lib/faker/sports/basketball.rb b/lib/faker/sports/basketball.rb new file mode 100644 index 0000000000..3c87cbdf6a --- /dev/null +++ b/lib/faker/sports/basketball.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Faker + module Sports + class Basketball < Base + class << self + def team + fetch('basketball.teams') + end + + def player + fetch('basketball.players') + end + + def coach + fetch('basketball.coaches') + end + + def position + fetch('basketball.positions') + end + end + end + end +end diff --git a/lib/locales/en/basketball.yml b/lib/locales/en/basketball.yml new file mode 100644 index 0000000000..82027c878d --- /dev/null +++ b/lib/locales/en/basketball.yml @@ -0,0 +1,99 @@ +en: + faker: + basketball: + teams: + - Atlanta Hawks + - Boston Celtics + - Brooklyn Nets + - Charlotte Hornets + - Chicago Bulls + - Cleveland Cavaliers + - Dallas Mavericks + - Denver Nuggets + - Detroit Pistons + - Golden State Warriors + - Houston Rockets + - Indiana Pacers + - Los Angeles Clippers + - Los Angeles Lakers + - Memphis Grizzlies + - Miami Heat + - Milwaukee Bucks + - Minnesota Timberwolves + - New Orleans Pelicans + - New York Knicks + - Oklahoma City Thunder + - Orlando Magic + - Philadelphia 76ers + - Phoenix Suns + - Portland Trail Blazers + - Sacramento Kings + - San Antonio Spurs + - Toronto Raptors + - Utah Jazz + - Washington Wizards + players: + - Kemba Walker + - Kyrie Irving + - Kawhi Leonard + - Giannis Antetokounmpo + - Joel Embiid + - Kyle Lowry + - Victor Oladipo + - Khris Middleton + - Bradley Beal + - Ben Simmons + - Blake Griffin + - Nikola Vučević + - Dwayne Wade + - D'Angelo Russell + - Stephen Curry + - James Harden + - Kevin Durant + - Paul George + - LeBron James + - Russell Westbrook + - Damian Lillard + - Klay Thompson + - Anthony Davis + - LaMarcus Aldridge + - Nikola Jokić + - Karl-Anthony Towns + - Dirk Nowitzki + coaches: + - Kenny Atkinson + - J.B. Bickerstaff + - James Borrego + - Jim Boylen + - Scott Brooks + - Brett Brown + - Mike Budenholzer + - Rick Carlisle + - Dwane Casey + - Steve Clifford + - Mike D'Antoni + - Billy Donovan + - Larry Drew + - David Fizdale + - Alvin Gentry + - Dave Joerger + - Steve Kerr + - Igor Kokoškov + - Michael Malone + - Nate McMillan + - Nick Nurse + - Lloyd Pierce + - Gregg Popovich + - Doc Rivers + - Ryan Saunders + - Quin Snyder + - Erik Spoelstra + - Brad Stevens + - Terry Stotts + - Luke Walton + positions: + - Point Guard + - Shooting Guard + - Small Forward + - Power Forward + - Center diff --git a/test/faker/sports/test_faker_basketball.rb b/test/faker/sports/test_faker_basketball.rb new file mode 100644 index 0000000000..9a369040db --- /dev/null +++ b/test/faker/sports/test_faker_basketball.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require_relative '../../test_helper' + +class TestFakerBasketball < Test::Unit::TestCase + def setup + @tester = Faker::Sports::Basketball + end + + def test_team + assert @tester.team.match(/\w+/) + end + + def test_player + assert @tester.player.match(/\w+/) + end + + def test_coach + assert @tester.coach.match(/\w+/) + end + + def test_position + assert @tester.position.match(/\w+/) + end +end diff --git a/test/test_determinism.rb b/test/test_determinism.rb index ff6fa92609..da70b1e510 100644 --- a/test/test_determinism.rb +++ b/test/test_determinism.rb @@ -45,7 +45,7 @@ def all_methods def subclasses Faker.constants.delete_if do |subclass| - %i[Base Bank Books Cat Char Base58 ChileRut Config Creature Date Dog DragonBall Dota ElderScrolls Fallout Games GamesHalfLife HeroesOfTheStorm Internet JapaneseMedia LeagueOfLegends Movies Myst Overwatch OnePiece Pokemon SwordArtOnline TvShows Time VERSION Witcher WorldOfWarcraft Zelda].include?(subclass) + %i[Base Bank Books Cat Char Base58 ChileRut Config Creature Date Dog DragonBall Dota ElderScrolls Fallout Games GamesHalfLife HeroesOfTheStorm Internet JapaneseMedia LeagueOfLegends Movies Myst Overwatch OnePiece Pokemon Sports SwordArtOnline TvShows Time VERSION Witcher WorldOfWarcraft Zelda].include?(subclass) end.sort end