move unit tests into 'testing' directories
diff --git a/openstack/objectstorage/v1/accounts/testing/doc.go b/openstack/objectstorage/v1/accounts/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/objectstorage/v1/accounts/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/objectstorage/v1/accounts/fixtures.go b/openstack/objectstorage/v1/accounts/testing/fixtures.go
similarity index 96%
rename from openstack/objectstorage/v1/accounts/fixtures.go
rename to openstack/objectstorage/v1/accounts/testing/fixtures.go
index 16327e8..a265199 100644
--- a/openstack/objectstorage/v1/accounts/fixtures.go
+++ b/openstack/objectstorage/v1/accounts/testing/fixtures.go
@@ -1,6 +1,4 @@
-// +build fixtures
-
-package accounts
+package testing
 
 import (
 	"net/http"
diff --git a/openstack/objectstorage/v1/accounts/requests_test.go b/openstack/objectstorage/v1/accounts/testing/requests_test.go
similarity index 66%
rename from openstack/objectstorage/v1/accounts/requests_test.go
rename to openstack/objectstorage/v1/accounts/testing/requests_test.go
index 8aba591..cf3fe05 100644
--- a/openstack/objectstorage/v1/accounts/requests_test.go
+++ b/openstack/objectstorage/v1/accounts/testing/requests_test.go
@@ -1,8 +1,9 @@
-package accounts
+package testing
 
 import (
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/objectstorage/v1/accounts"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
 )
@@ -12,8 +13,8 @@
 	defer th.TeardownHTTP()
 	HandleUpdateAccountSuccessfully(t)
 
-	options := &UpdateOpts{Metadata: map[string]string{"gophercloud-test": "accounts"}}
-	_, err := Update(fake.ServiceClient(), options).Extract()
+	options := &accounts.UpdateOpts{Metadata: map[string]string{"gophercloud-test": "accounts"}}
+	_, err := accounts.Update(fake.ServiceClient(), options).Extract()
 	th.AssertNoErr(t, err)
 }
 
@@ -23,7 +24,7 @@
 	HandleGetAccountSuccessfully(t)
 
 	expectedMetadata := map[string]string{"Subject": "books"}
-	res := Get(fake.ServiceClient(), &GetOpts{})
+	res := accounts.Get(fake.ServiceClient(), &accounts.GetOpts{})
 	th.AssertNoErr(t, res.Err)
 	actualMetadata, _ := res.ExtractMetadata()
 	th.CheckDeepEquals(t, expectedMetadata, actualMetadata)
diff --git a/openstack/objectstorage/v1/containers/testing/doc.go b/openstack/objectstorage/v1/containers/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/objectstorage/v1/containers/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/objectstorage/v1/containers/fixtures.go b/openstack/objectstorage/v1/containers/testing/fixtures.go
similarity index 96%
rename from openstack/objectstorage/v1/containers/fixtures.go
rename to openstack/objectstorage/v1/containers/testing/fixtures.go
index fde8815..fe579d8 100644
--- a/openstack/objectstorage/v1/containers/fixtures.go
+++ b/openstack/objectstorage/v1/containers/testing/fixtures.go
@@ -1,25 +1,24 @@
-// +build fixtures
-
-package containers
+package testing
 
 import (
 	"fmt"
 	"net/http"
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/objectstorage/v1/containers"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
 )
 
 // ExpectedListInfo is the result expected from a call to `List` when full
 // info is requested.
-var ExpectedListInfo = []Container{
-	Container{
+var ExpectedListInfo = []containers.Container{
+	{
 		Count: 0,
 		Bytes: 0,
 		Name:  "janeausten",
 	},
-	Container{
+	{
 		Count: 1,
 		Bytes: 14,
 		Name:  "marktwain",
diff --git a/openstack/objectstorage/v1/containers/requests_test.go b/openstack/objectstorage/v1/containers/testing/requests_test.go
similarity index 63%
rename from openstack/objectstorage/v1/containers/requests_test.go
rename to openstack/objectstorage/v1/containers/testing/requests_test.go
index 5066ab2..0d32882 100644
--- a/openstack/objectstorage/v1/containers/requests_test.go
+++ b/openstack/objectstorage/v1/containers/testing/requests_test.go
@@ -1,8 +1,9 @@
-package containers
+package testing
 
 import (
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/objectstorage/v1/containers"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
@@ -16,9 +17,9 @@
 	HandleListContainerInfoSuccessfully(t)
 
 	count := 0
-	err := List(fake.ServiceClient(), &ListOpts{Full: true}).EachPage(func(page pagination.Page) (bool, error) {
+	err := containers.List(fake.ServiceClient(), &containers.ListOpts{Full: true}).EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractInfo(page)
+		actual, err := containers.ExtractInfo(page)
 		th.AssertNoErr(t, err)
 
 		th.CheckDeepEquals(t, ExpectedListInfo, actual)
@@ -34,9 +35,9 @@
 	defer th.TeardownHTTP()
 	HandleListContainerInfoSuccessfully(t)
 
-	allPages, err := List(fake.ServiceClient(), &ListOpts{Full: true}).AllPages()
+	allPages, err := containers.List(fake.ServiceClient(), &containers.ListOpts{Full: true}).AllPages()
 	th.AssertNoErr(t, err)
-	actual, err := ExtractInfo(allPages)
+	actual, err := containers.ExtractInfo(allPages)
 	th.AssertNoErr(t, err)
 	th.CheckDeepEquals(t, ExpectedListInfo, actual)
 }
@@ -47,9 +48,9 @@
 	HandleListContainerNamesSuccessfully(t)
 
 	count := 0
-	err := List(fake.ServiceClient(), &ListOpts{Full: false}).EachPage(func(page pagination.Page) (bool, error) {
+	err := containers.List(fake.ServiceClient(), &containers.ListOpts{Full: false}).EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractNames(page)
+		actual, err := containers.ExtractNames(page)
 		if err != nil {
 			t.Errorf("Failed to extract container names: %v", err)
 			return false, err
@@ -68,9 +69,9 @@
 	defer th.TeardownHTTP()
 	HandleListContainerNamesSuccessfully(t)
 
-	allPages, err := List(fake.ServiceClient(), &ListOpts{Full: false}).AllPages()
+	allPages, err := containers.List(fake.ServiceClient(), &containers.ListOpts{Full: false}).AllPages()
 	th.AssertNoErr(t, err)
-	actual, err := ExtractNames(allPages)
+	actual, err := containers.ExtractNames(allPages)
 	th.AssertNoErr(t, err)
 	th.CheckDeepEquals(t, ExpectedListNames, actual)
 }
@@ -80,8 +81,8 @@
 	defer th.TeardownHTTP()
 	HandleCreateContainerSuccessfully(t)
 
-	options := CreateOpts{ContentType: "application/json", Metadata: map[string]string{"foo": "bar"}}
-	res := Create(fake.ServiceClient(), "testContainer", options)
+	options := containers.CreateOpts{ContentType: "application/json", Metadata: map[string]string{"foo": "bar"}}
+	res := containers.Create(fake.ServiceClient(), "testContainer", options)
 	c, err := res.Extract()
 	th.CheckNoErr(t, err)
 	th.CheckEquals(t, "bar", res.Header["X-Container-Meta-Foo"][0])
@@ -93,7 +94,7 @@
 	defer th.TeardownHTTP()
 	HandleDeleteContainerSuccessfully(t)
 
-	res := Delete(fake.ServiceClient(), "testContainer")
+	res := containers.Delete(fake.ServiceClient(), "testContainer")
 	th.CheckNoErr(t, res.Err)
 }
 
@@ -102,8 +103,8 @@
 	defer th.TeardownHTTP()
 	HandleUpdateContainerSuccessfully(t)
 
-	options := &UpdateOpts{Metadata: map[string]string{"foo": "bar"}}
-	res := Update(fake.ServiceClient(), "testContainer", options)
+	options := &containers.UpdateOpts{Metadata: map[string]string{"foo": "bar"}}
+	res := containers.Update(fake.ServiceClient(), "testContainer", options)
 	th.CheckNoErr(t, res.Err)
 }
 
@@ -112,6 +113,6 @@
 	defer th.TeardownHTTP()
 	HandleGetContainerSuccessfully(t)
 
-	_, err := Get(fake.ServiceClient(), "testContainer").ExtractMetadata()
+	_, err := containers.Get(fake.ServiceClient(), "testContainer").ExtractMetadata()
 	th.CheckNoErr(t, err)
 }
diff --git a/openstack/objectstorage/v1/objects/testing/doc.go b/openstack/objectstorage/v1/objects/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/objectstorage/v1/objects/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/objectstorage/v1/objects/fixtures.go b/openstack/objectstorage/v1/objects/testing/fixtures.go
similarity index 97%
rename from openstack/objectstorage/v1/objects/fixtures.go
rename to openstack/objectstorage/v1/objects/testing/fixtures.go
index 999b305..5077c3f 100644
--- a/openstack/objectstorage/v1/objects/fixtures.go
+++ b/openstack/objectstorage/v1/objects/testing/fixtures.go
@@ -1,6 +1,4 @@
-// +build fixtures
-
-package objects
+package testing
 
 import (
 	"crypto/md5"
@@ -9,6 +7,7 @@
 	"net/http"
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/objectstorage/v1/objects"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
 )
@@ -27,15 +26,15 @@
 
 // ExpectedListInfo is the result expected from a call to `List` when full
 // info is requested.
-var ExpectedListInfo = []Object{
-	Object{
+var ExpectedListInfo = []objects.Object{
+	{
 		Hash:         "451e372e48e0f6b1114fa0724aa79fa1",
 		LastModified: "2009-11-10 23:00:00 +0000 UTC",
 		Bytes:        14,
 		Name:         "goodbye",
 		ContentType:  "application/octet-stream",
 	},
-	Object{
+	{
 		Hash:         "451e372e48e0f6b1114fa0724aa79fa1",
 		LastModified: "2009-11-10 23:00:00 +0000 UTC",
 		Bytes:        14,
diff --git a/openstack/objectstorage/v1/objects/requests_test.go b/openstack/objectstorage/v1/objects/testing/requests_test.go
similarity index 68%
rename from openstack/objectstorage/v1/objects/requests_test.go
rename to openstack/objectstorage/v1/objects/testing/requests_test.go
index e612319..332028e 100644
--- a/openstack/objectstorage/v1/objects/requests_test.go
+++ b/openstack/objectstorage/v1/objects/testing/requests_test.go
@@ -1,4 +1,4 @@
-package objects
+package testing
 
 import (
 	"bytes"
@@ -6,6 +6,7 @@
 	"strings"
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/objectstorage/v1/objects"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
@@ -16,7 +17,7 @@
 	defer th.TeardownHTTP()
 	HandleDownloadObjectSuccessfully(t)
 
-	response := Download(fake.ServiceClient(), "testContainer", "testObject", nil)
+	response := objects.Download(fake.ServiceClient(), "testContainer", "testObject", nil)
 	defer response.Body.Close()
 
 	// Check reader
@@ -30,7 +31,7 @@
 	defer th.TeardownHTTP()
 	HandleDownloadObjectSuccessfully(t)
 
-	response := Download(fake.ServiceClient(), "testContainer", "testObject", nil)
+	response := objects.Download(fake.ServiceClient(), "testContainer", "testObject", nil)
 
 	// Check []byte extraction
 	bytes, err := response.ExtractContent()
@@ -44,10 +45,10 @@
 	HandleListObjectsInfoSuccessfully(t)
 
 	count := 0
-	options := &ListOpts{Full: true}
-	err := List(fake.ServiceClient(), "testContainer", options).EachPage(func(page pagination.Page) (bool, error) {
+	options := &objects.ListOpts{Full: true}
+	err := objects.List(fake.ServiceClient(), "testContainer", options).EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractInfo(page)
+		actual, err := objects.ExtractInfo(page)
 		th.AssertNoErr(t, err)
 
 		th.CheckDeepEquals(t, ExpectedListInfo, actual)
@@ -64,10 +65,10 @@
 	HandleListObjectNamesSuccessfully(t)
 
 	count := 0
-	options := &ListOpts{Full: false}
-	err := List(fake.ServiceClient(), "testContainer", options).EachPage(func(page pagination.Page) (bool, error) {
+	options := &objects.ListOpts{Full: false}
+	err := objects.List(fake.ServiceClient(), "testContainer", options).EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractNames(page)
+		actual, err := objects.ExtractNames(page)
 		if err != nil {
 			t.Errorf("Failed to extract container names: %v", err)
 			return false, err
@@ -89,8 +90,8 @@
 
 	HandleCreateTextObjectSuccessfully(t, content)
 
-	options := &CreateOpts{ContentType: "text/plain", Content: strings.NewReader(content)}
-	res := Create(fake.ServiceClient(), "testContainer", "testObject", options)
+	options := &objects.CreateOpts{ContentType: "text/plain", Content: strings.NewReader(content)}
+	res := objects.Create(fake.ServiceClient(), "testContainer", "testObject", options)
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -102,7 +103,7 @@
 
 	HandleCreateTypelessObjectSuccessfully(t, content)
 
-	res := Create(fake.ServiceClient(), "testContainer", "testObject", &CreateOpts{Content: strings.NewReader(content)})
+	res := objects.Create(fake.ServiceClient(), "testContainer", "testObject", &objects.CreateOpts{Content: strings.NewReader(content)})
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -129,8 +130,8 @@
 	defer th.TeardownHTTP()
 	HandleCopyObjectSuccessfully(t)
 
-	options := &CopyOpts{Destination: "/newTestContainer/newTestObject"}
-	res := Copy(fake.ServiceClient(), "testContainer", "testObject", options)
+	options := &objects.CopyOpts{Destination: "/newTestContainer/newTestObject"}
+	res := objects.Copy(fake.ServiceClient(), "testContainer", "testObject", options)
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -139,7 +140,7 @@
 	defer th.TeardownHTTP()
 	HandleDeleteObjectSuccessfully(t)
 
-	res := Delete(fake.ServiceClient(), "testContainer", "testObject", nil)
+	res := objects.Delete(fake.ServiceClient(), "testContainer", "testObject", nil)
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -148,8 +149,8 @@
 	defer th.TeardownHTTP()
 	HandleUpdateObjectSuccessfully(t)
 
-	options := &UpdateOpts{Metadata: map[string]string{"Gophercloud-Test": "objects"}}
-	res := Update(fake.ServiceClient(), "testContainer", "testObject", options)
+	options := &objects.UpdateOpts{Metadata: map[string]string{"Gophercloud-Test": "objects"}}
+	res := objects.Update(fake.ServiceClient(), "testContainer", "testObject", options)
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -159,7 +160,7 @@
 	HandleGetObjectSuccessfully(t)
 
 	expected := map[string]string{"Gophercloud-Test": "objects"}
-	actual, err := Get(fake.ServiceClient(), "testContainer", "testObject", nil).ExtractMetadata()
+	actual, err := objects.Get(fake.ServiceClient(), "testContainer", "testObject", nil).ExtractMetadata()
 	th.AssertNoErr(t, err)
 	th.CheckDeepEquals(t, expected, actual)
 }