isZero unit tests
diff --git a/params_test.go b/params_test.go
index a9919d2..cb3b4d2 100644
--- a/params_test.go
+++ b/params_test.go
@@ -2,7 +2,9 @@
 
 import (
 	"net/url"
+	"reflect"
 	"testing"
+	"time"
 
 	th "github.com/rackspace/gophercloud/testhelper"
 )
@@ -11,24 +13,24 @@
 	testString := ""
 	var expected *string
 	actual := MaybeString(testString)
-	th.CheckDeepEquals(t, actual, expected)
+	th.CheckDeepEquals(t, expected, actual)
 
 	testString = "carol"
 	expected = &testString
 	actual = MaybeString(testString)
-	th.CheckDeepEquals(t, actual, expected)
+	th.CheckDeepEquals(t, expected, actual)
 }
 
 func TestMaybeInt(t *testing.T) {
 	testInt := 0
 	var expected *int
 	actual := MaybeInt(testInt)
-	th.CheckDeepEquals(t, actual, expected)
+	th.CheckDeepEquals(t, expected, actual)
 
 	testInt = 4
 	expected = &testInt
 	actual = MaybeInt(testInt)
-	th.CheckDeepEquals(t, actual, expected)
+	th.CheckDeepEquals(t, expected, actual)
 }
 
 func TestBuildQueryStringWithPointerToStruct(t *testing.T) {
@@ -49,7 +51,7 @@
 		t.Errorf("Error building query string: %v", err)
 	}
 
-	th.CheckDeepEquals(t, actual, expected)
+	th.CheckDeepEquals(t, expected, actual)
 }
 
 func TestBuildQueryStringWithoutRequiredFieldSet(t *testing.T) {
@@ -68,3 +70,63 @@
 
 	t.Log(err)
 }
+
+func TestBuildHeaders(t *testing.T) {
+	testStruct := struct {
+		Accept string `h:"Accept"`
+		Num    int    `h:"Number"`
+		Style  bool   `h:"Style"`
+	}{
+		Accept: "application/json",
+		Num:    4,
+		Style:  true,
+	}
+	expected := map[string]string{"Accept": "application/json", "Number": "4", "Style": "true"}
+	actual, err := BuildHeaders(&testStruct)
+	th.CheckNoErr(t, err)
+	th.CheckDeepEquals(t, expected, actual)
+}
+
+func TestIsZero(t *testing.T) {
+	var testMap map[string]interface{}
+	testMapValue := reflect.ValueOf(testMap)
+	expected := true
+	actual := isZero(testMapValue)
+	th.CheckEquals(t, expected, actual)
+	testMap = map[string]interface{}{"empty": false}
+	testMapValue = reflect.ValueOf(testMap)
+	expected = false
+	actual = isZero(testMapValue)
+	th.CheckEquals(t, expected, actual)
+
+	var testArray [2]string
+	testArrayValue := reflect.ValueOf(testArray)
+	expected = true
+	actual = isZero(testArrayValue)
+	th.CheckEquals(t, expected, actual)
+	testArray = [2]string{"one", "two"}
+	testArrayValue = reflect.ValueOf(testArray)
+	expected = false
+	actual = isZero(testArrayValue)
+	th.CheckEquals(t, expected, actual)
+
+	var testStruct struct {
+		A string
+		B time.Time
+	}
+	testStructValue := reflect.ValueOf(testStruct)
+	expected = true
+	actual = isZero(testStructValue)
+	th.CheckEquals(t, expected, actual)
+	testStruct = struct {
+		A string
+		B time.Time
+	}{
+		B: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
+	}
+	testStructValue = reflect.ValueOf(testStruct)
+	expected = false
+	actual = isZero(testStructValue)
+	th.CheckEquals(t, expected, actual)
+
+}