rspec for player stat summary

This commit is contained in:
danijoo
2014-03-24 16:46:22 +01:00
parent 64b301543b
commit 47bc7b90a8
2 changed files with 55 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
module Sightstone
# summary of player statistic
# @attr [Fixnum] summonerId ID of the summoner
# @attr [Array<PlayerStatSummary] array of stat summaries for player with given id
# @attr [Array<PlayerStatSummary] playerStatSummaries array of stat summaries for player with given id
class PlayerStatsSummaryList
attr_accessor :summonerId, :playerStatSummaries
@@ -17,7 +17,7 @@ end
# stat sumary for a queue
# @attr [Fixnum] wins number of won game
# @attr [Fixnum] losses number of lost games
# @attr [Fixnum] losses number of lost games, can be nil!
# @attr [Fixnum] modifyDate date of modification as unix date
# @attr [String] playerStatSummaryType type of the stat (can be: AramUnranked5x5, CoopVsAI, OdinUnranked, RankedPremade3x3, RankedPremade5x5, RankedSolo5x5, RankedTeam3x3, RankedTeam5x5, Unranked, Unranked3x3, OneForAll5x5, FirstBlood1x1, FirstBlood2x2)
# @attr [Hash<String, Fixnum>] aggregatedStats a hash of all stats (key) and their values.

View File

@@ -0,0 +1,53 @@
require 'spec_helper'
require 'json'
module Sightstone
describe PlayerStatsSummaryList do
before :all do
json_mockup = JSON.parse('{"playerStatSummaries": [{"playerStatSummaryType": "Unranked3x3","aggregatedStats": {"totalNeutralMinionsKilled": 1854,"totalMinionKills": 4256,"totalChampionKills": 280,"totalAssists": 333,"totalTurretsKilled": 30},"modifyDate": 1395243794000,"wins": 31}], "summonerId": 30447079}')
@pssl = PlayerStatsSummaryList.new(json_mockup)
end
describe "#new" do
it "should init player stat summary list object" do
@pssl.should be_instance_of PlayerStatsSummaryList
end
it "should init with correct params" do
@pssl.summonerId.should be_instance_of Fixnum
@pssl.playerStatSummaries.should be_instance_of Array
@pssl.playerStatSummaries.each do |stat|
stat.should be_instance_of PlayerStatSummary
end
end
end
end
describe PlayerStatSummary do
before @all do
json_mockup = JSON.parse('{"playerStatSummaryType": "Unranked3x3","aggregatedStats": {"totalNeutralMinionsKilled": 1854,"totalMinionKills": 4256,"totalChampionKills": 280,"totalAssists": 333,"totalTurretsKilled": 30},"modifyDate": 1395243794000,"wins": 31}')
@pss = PlayerStatSummary.new(json_mockup)
end
describe "#new" do
it "should init player stat summary object" do
@pss.should be_instance_of PlayerStatSummary
end
it "should init with correct params" do
@pss.losses.should satisfy { |l| l.nil? or l.is_a?(Fixnum)}
@pss.wins.should be_instance_of Fixnum
@pss.modifyDate.should be_instance_of Fixnum
@pss.playerStatSummaryType.should be_instance_of String
@pss.aggregatedStats.should be_instance_of Hash
@pss.aggregatedStats.each do |key, stat|
key.should be_instance_of String
stat.should be_instance_of Fixnum
end
end
end
end
end