## The challenge

Write a function, called `sumPPG`, that takes two NBA player objects/struct/Hash/Dict/Class and sums their PPG

Examples:

 ``````1 2 3 `````` ``````iverson := NBAPlayer{ Team: "76ers", Ppg: 11.2 } jordan := NBAPlayer{ Team: "bulls", Ppg: 20.2 } SumPpg(iverson, jordan) // => 31.4 ``````

## The solution in Golang

Option 1:

 ``````1 2 3 4 5 6 7 8 `````` ``````package solution type NBAPlayer struct { Team string Ppg float64 } func SumPpg(playerOne, playerTwo NBAPlayer) float64 { return playerOne.Ppg+playerTwo.Ppg } ``````

Option 2:

 ``````1 2 3 4 5 6 7 8 `````` ``````package solution type NBAPlayer struct { Team string Ppg float64 } func SumPpg(a, b NBAPlayer) float64 { return float64(a.Ppg + b.Ppg) } ``````

## Test cases to validate our solution

 `````` 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 `````` ``````package solution_test import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) const tol=1e-6 var _ = Describe("Fixed tests", func() { It("Iverson and jordan", func() { iverson := NBAPlayer{ Team: "76ers", Ppg: 11.2 } jordan := NBAPlayer{ Team: "bulls", Ppg: 20.2 } Expect(SumPpg(iverson,jordan)).To(BeNumerically("~",31.4,tol)) }) It("Standard tests", func(){ player1 := NBAPlayer{ Team: "p1_team", Ppg: 20.2 } player2 := NBAPlayer{ Team: "p2_team", Ppg: 2.6 } player3 := NBAPlayer{ Team: "p3_team", Ppg: 2023.2 } player4 := NBAPlayer{ Team: "p4_team", Ppg: 0 } player5 := NBAPlayer{ Team: "p5_team", Ppg: -5.8 } Expect(SumPpg(player1, player2)).To(BeNumerically("~",22.8 ,tol)) Expect(SumPpg(player3, player1)).To(BeNumerically("~",2043.4 ,tol)) Expect(SumPpg(player3, player4)).To(BeNumerically("~",2023.2 ,tol)) Expect(SumPpg(player4, player5)).To(BeNumerically("~",-5.8 ,tol)) Expect(SumPpg(player5, player2)).To(BeNumerically("~",2.6 - 5.8 ,tol)) }) }) ``````