Skip to content
This repository has been archived by the owner on Mar 24, 2018. It is now read-only.

Commit

Permalink
Technical debt for universe package
Browse files Browse the repository at this point in the history
- added documentation
- added unit tests
  • Loading branch information
dertseha committed Nov 1, 2014
1 parent e72795a commit 88ff79b
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 21 deletions.
24 changes: 3 additions & 21 deletions universe/EmptyUniverse_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,11 @@ import (
)

type EmptyUniverseTestSuite struct {
universe Universe
UniverseTestSuite
}

var _ = check.Suite(&EmptyUniverseTestSuite{})

func (suite *EmptyUniverseTestSuite) SetUpTest(c *check.C) {
suite.universe = New()
}

func (suite *EmptyUniverseTestSuite) TestExtendReturnsNewBuilder(c *check.C) {
builder := suite.universe.Extend()

c.Assert(builder, check.NotNil)
}

func (suite *EmptyUniverseTestSuite) TestHasSolarSystemReturnsFalse(c *check.C) {
c.Assert(suite.universe.HasSolarSystem(Id(1234)), check.Equals, false)
}

func (suite *EmptyUniverseTestSuite) TestSolarSystemPanics(c *check.C) {
c.Assert(func() { suite.universe.SolarSystem(Id(1234)) }, check.Panics, "SolarSystem with ID <1234> not found")
}
var _ = check.Suite(&EmptyUniverseTestSuite{UniverseTestSuite{createUniverse: New}})

func (suite *EmptyUniverseTestSuite) TestSolarSystemIdsReturnsEmptySlice(c *check.C) {
c.Assert(suite.universe.SolarSystemIds(), check.HasLen, 0)
c.Assert(suite.Universe().SolarSystemIds(), check.HasLen, 0)
}
45 changes: 45 additions & 0 deletions universe/ExtendedUniverse_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package universe

import (
check "gopkg.in/check.v1"
)

type ExtendedUniverseTestSuite struct {
UniverseTestSuite
}

var _ = check.Suite(&ExtendedUniverseTestSuite{UniverseTestSuite{
createUniverse: func() Universe {
baseUniverse := New()

builder1 := baseUniverse.Extend()

builder1.AddSolarSystem(Id(2), Id(10), Id(100), NewEdenId, AnyLocation(), TrueSecurity(0.0))

verse2 := builder1.Build()
builder2 := verse2.Extend()

builder2.AddSolarSystem(Id(1), Id(10), Id(100), NewEdenId, AnyLocation(), TrueSecurity(0.0))

return builder2.Build()
}}})

func (suite *ExtendedUniverseTestSuite) TestSolarSystemIdsReturnsCombinedResults(c *check.C) {
c.Assert(suite.Universe().SolarSystemIds(), check.HasLen, 2)
}

func (suite *ExtendedUniverseTestSuite) TestSolarSystemIdsReturnsIdsSorted(c *check.C) {
c.Assert(suite.Universe().SolarSystemIds(), check.DeepEquals, []Id{1, 2})
}

func (suite *ExtendedUniverseTestSuite) TestSolarSystemReturnsSystemFromBase(c *check.C) {
result := suite.Universe().SolarSystem(2)

c.Assert(result, check.NotNil)
}

func (suite *ExtendedUniverseTestSuite) TestSolarSystemReturnsSystemFromExtension(c *check.C) {
result := suite.Universe().SolarSystem(1)

c.Assert(result, check.NotNil)
}
33 changes: 33 additions & 0 deletions universe/Universe_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package universe

import (
check "gopkg.in/check.v1"
)

type UniverseTestSuite struct {
createUniverse func() Universe

universe Universe
}

func (suite *UniverseTestSuite) Universe() Universe {
return suite.universe
}

func (suite *UniverseTestSuite) SetUpTest(c *check.C) {
suite.universe = suite.createUniverse()
}

func (suite *UniverseTestSuite) TestExtendReturnsNewBuilder(c *check.C) {
builder := suite.universe.Extend()

c.Assert(builder, check.NotNil)
}

func (suite *UniverseTestSuite) TestHasSolarSystemReturnsFalseForUnknownSolarSystem(c *check.C) {
c.Assert(suite.universe.HasSolarSystem(Id(10203040)), check.Equals, false)
}

func (suite *UniverseTestSuite) TestSolarSystemPanicsForUnknownSolarSystem(c *check.C) {
c.Assert(func() { suite.universe.SolarSystem(Id(10203040)) }, check.Panics, "SolarSystem with ID <10203040> not found")
}
File renamed without changes.

0 comments on commit 88ff79b

Please sign in to comment.