From a1daf794f397830e4591f4ecf9e65bcc55ce2aee Mon Sep 17 00:00:00 2001 From: Joseph Bloom Date: Wed, 11 Dec 2024 10:49:01 -0700 Subject: [PATCH 1/2] initial commit --- lib/player.rb | 22 +++++++++++ lib/team.rb | 40 ++++++++++++++++++++ spec/player_spec.rb | 3 +- spec/team_spec.rb | 90 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 spec/team_spec.rb diff --git a/lib/player.rb b/lib/player.rb index e69de29..d87726f 100644 --- a/lib/player.rb +++ b/lib/player.rb @@ -0,0 +1,22 @@ + + +class Player +attr_reader :name, :monthly_cost, :contract_length + def initialize(name, monthly_cost, contract_length) + @name = name + @monthly_cost = monthly_cost + @contract_length = contract_length + end + + def first_name + @name.split.first + end + + def last_name + @name.split.last + end + + def total_cost + @monthly_cost*@contract_length + end +end \ No newline at end of file diff --git a/lib/team.rb b/lib/team.rb index e69de29..f5fbc9e 100644 --- a/lib/team.rb +++ b/lib/team.rb @@ -0,0 +1,40 @@ +require './lib/player' + +class Team + attr_reader :team, :city + + def initialize(team, city) + @team = [] + @city = city + @long_term_players = [] + @short_term_players = [] + end + + def roster + roster = @team + end + + def player_count + player_count = @team.count + end + + def add_player(player) + + @team << player + end + + def long_term_players(player) + + if player(@contract_length) > 24 + @long_term_players << player + end + end + + def short_term_players + short_term_player = Player(@name, @monthly_cost, @contract_length) + if short_term_player[2] <= 24 + @short_term_players << short_term_player + end + end +end + diff --git a/spec/player_spec.rb b/spec/player_spec.rb index 016ff62..f890124 100644 --- a/spec/player_spec.rb +++ b/spec/player_spec.rb @@ -1,4 +1,5 @@ require 'rspec' +require './lib/player' RSpec.describe Player do it 'exists' do @@ -34,6 +35,6 @@ it 'has a total cost' do player = Player.new("Michael Palledorous" , 1000000, 36) - expect(player.total_costg).to eq(36000000) + expect(player.total_cost).to eq(36000000) end end \ No newline at end of file diff --git a/spec/team_spec.rb b/spec/team_spec.rb new file mode 100644 index 0000000..557318e --- /dev/null +++ b/spec/team_spec.rb @@ -0,0 +1,90 @@ +require 'rspec' +require './lib/player' +require './lib/team' + +RSpec.describe Team do + it 'exists' do + + player_1 = Player.new("Michael Palledorous" , 1000000, 36) + player_2 = Player.new("Kenny DeNunez", 500000, 24) + team = Team.new("Dodgers", "Los Angeles") + + expect(team).to be_a Team + + end + + it 'has a roster' do + + player_1 = Player.new("Michael Palledorous" , 1000000, 36) + player_2 = Player.new("Kenny DeNunez", 500000, 24) + team = Team.new("Dodgers", "Los Angeles") + + expect(team.roster).to eq([]) + + end + + it 'has a player count' do + + player_1 = Player.new("Michael Palledorous" , 1000000, 36) + player_2 = Player.new("Kenny DeNunez", 500000, 24) + team = Team.new("Dodgers", "Los Angeles") + + expect(team.player_count).to eq(0) + + end + + it 'adds a player and checks roster' do + + player_1 = Player.new("Michael Palledorous" , 1000000, 36) + player_2 = Player.new("Kenny DeNunez", 500000, 24) + team = Team.new("Dodgers", "Los Angeles") + team.add_player(player_1) + expect(team.roster).to eq([player_1]) + + end + + it 'checks player count' do + + player_1 = Player.new("Michael Palledorous" , 1000000, 36) + player_2 = Player.new("Kenny DeNunez", 500000, 24) + team = Team.new("Dodgers", "Los Angeles") + team.add_player(player_1) + team.add_player(player_2) + + expect(team.player_count).to eq(2) + + end + + it 'checks long term players' do + + player_1 = Player.new("Michael Palledorous" , 1000000, 36) + player_2 = Player.new("Kenny DeNunez", 500000, 24) + player_3 = Player.new("Alan McClennan", 750000, 48) + player_4 = Player.new("Hamilton Porter", 100000, 12) + team = Team.new("Dodgers", "Los Angeles") + team.add_player(player_1) + team.add_player(player_2) + team.add_player(player_3) + team.add_player(player_4) + + expect(team.long_term_players).to eq(2) + + end + + xit 'checks short term players' do + + player_1 = Player.new("Michael Palledorous" , 1000000, 36) + player_2 = Player.new("Kenny DeNunez", 500000, 24) + player_3 = Player.new("Alan McClennan", 750000, 48) + player_4 = Player.new("Hamilton Porter", 100000, 12) + team = Team.new("Dodgers", "Los Angeles") + team.add_player(player_1) + team.add_player(player_2) + team.add_player(player_3) + team.add_player(player_4) + + expect(team.short_term_players).to eq(2) + + end + +end \ No newline at end of file From 7013cf454cb2f42a92890ebab9679f7e3cb75726 Mon Sep 17 00:00:00 2001 From: Joseph Bloom Date: Wed, 11 Dec 2024 11:55:27 -0700 Subject: [PATCH 2/2] LONG TERM PLAYERS ARGH --- lib/team.rb | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/team.rb b/lib/team.rb index f5fbc9e..59b9414 100644 --- a/lib/team.rb +++ b/lib/team.rb @@ -1,8 +1,8 @@ require './lib/player' class Team - attr_reader :team, :city - + attr_reader :team, :city + attr_accessor :long_term_players, :short_term_players def initialize(team, city) @team = [] @city = city @@ -24,17 +24,21 @@ def add_player(player) end def long_term_players(player) - - if player(@contract_length) > 24 - @long_term_players << player + @team.length.times do |check| + check.player.each.contract_length + if contract_length > 24 + @long_term_players << player + end end - end + end def short_term_players - short_term_player = Player(@name, @monthly_cost, @contract_length) - if short_term_player[2] <= 24 - @short_term_players << short_term_player - end + + @short_term_players << short_term_player + + end + + def total_value end end