fix config_test to run in any order. (#1194)

- fixes #1193
diff --git a/trace/config_test.go b/trace/config_test.go
index 547b817..1811230 100644
--- a/trace/config_test.go
+++ b/trace/config_test.go
@@ -20,69 +20,89 @@
 )
 
 func TestApplyConfig(t *testing.T) {
-	testCfgs := []Config{
-		{},
-		{
-			MaxAttributesPerSpan:       1,
-			MaxAnnotationEventsPerSpan: 2,
-			MaxMessageEventsPerSpan:    3,
-			MaxLinksPerSpan:            4,
-		},
-		{
-			MaxAttributesPerSpan:       -1,
-			MaxAnnotationEventsPerSpan: 3,
-			MaxMessageEventsPerSpan:    -3,
-			MaxLinksPerSpan:            5,
-		}}
 	cfg := config.Load().(*Config)
-	wantCfgs := []Config{
+	defaultCfg := Config{
+		DefaultSampler:             cfg.DefaultSampler,
+		IDGenerator:                cfg.IDGenerator,
+		MaxAttributesPerSpan:       DefaultMaxAttributesPerSpan,
+		MaxAnnotationEventsPerSpan: DefaultMaxAnnotationEventsPerSpan,
+		MaxMessageEventsPerSpan:    DefaultMaxMessageEventsPerSpan,
+		MaxLinksPerSpan:            DefaultMaxLinksPerSpan,
+	}
+	testCases := []struct {
+		name    string
+		newCfg  Config
+		wantCfg Config
+	}{
 		{
-			DefaultSampler:             cfg.DefaultSampler,
-			IDGenerator:                cfg.IDGenerator,
-			MaxAttributesPerSpan:       DefaultMaxAttributesPerSpan,
-			MaxAnnotationEventsPerSpan: DefaultMaxAnnotationEventsPerSpan,
-			MaxMessageEventsPerSpan:    DefaultMaxMessageEventsPerSpan,
-			MaxLinksPerSpan:            DefaultMaxLinksPerSpan,
+			name:    "Initialize to default config",
+			newCfg:  defaultCfg,
+			wantCfg: defaultCfg,
 		},
 		{
-			DefaultSampler:             cfg.DefaultSampler,
-			IDGenerator:                cfg.IDGenerator,
-			MaxAttributesPerSpan:       1,
-			MaxAnnotationEventsPerSpan: 2,
-			MaxMessageEventsPerSpan:    3,
-			MaxLinksPerSpan:            4,
+			name:    "Empty Config",
+			newCfg:  Config{},
+			wantCfg: defaultCfg,
 		},
 		{
-			DefaultSampler:             cfg.DefaultSampler,
-			IDGenerator:                cfg.IDGenerator,
-			MaxAttributesPerSpan:       1,
-			MaxAnnotationEventsPerSpan: 3,
-			MaxMessageEventsPerSpan:    3,
-			MaxLinksPerSpan:            5,
-		}}
+			name: "Valid non-default config",
+			newCfg: Config{
+				MaxAttributesPerSpan:       1,
+				MaxAnnotationEventsPerSpan: 2,
+				MaxMessageEventsPerSpan:    3,
+				MaxLinksPerSpan:            4,
+			},
+			wantCfg: Config{
+				DefaultSampler:             cfg.DefaultSampler,
+				IDGenerator:                cfg.IDGenerator,
+				MaxAttributesPerSpan:       1,
+				MaxAnnotationEventsPerSpan: 2,
+				MaxMessageEventsPerSpan:    3,
+				MaxLinksPerSpan:            4,
+			},
+		},
+		{
+			name: "Partially invalid config",
+			newCfg: Config{
+				MaxAttributesPerSpan:       -1,
+				MaxAnnotationEventsPerSpan: 3,
+				MaxMessageEventsPerSpan:    -3,
+				MaxLinksPerSpan:            5,
+			},
+			wantCfg: Config{
+				DefaultSampler:             cfg.DefaultSampler,
+				IDGenerator:                cfg.IDGenerator,
+				MaxAttributesPerSpan:       1,
+				MaxAnnotationEventsPerSpan: 3,
+				MaxMessageEventsPerSpan:    3,
+				MaxLinksPerSpan:            5,
+			},
+		},
+	}
 
-	for i, newCfg := range testCfgs {
+	for i, tt := range testCases {
+		newCfg := tt.newCfg
 		ApplyConfig(newCfg)
 		gotCfg := config.Load().(*Config)
-		wantCfg := wantCfgs[i]
+		wantCfg := tt.wantCfg
 
 		if got, want := reflect.ValueOf(gotCfg.DefaultSampler).Pointer(), reflect.ValueOf(wantCfg.DefaultSampler).Pointer(); got != want {
-			t.Fatalf("testId = %d config.DefaultSampler = %#v; want %#v", i, got, want)
+			t.Fatalf("testId = %d, testName = %s: config.DefaultSampler = %#v; want %#v", i, tt.name, got, want)
 		}
 		if got, want := gotCfg.IDGenerator, wantCfg.IDGenerator; got != want {
-			t.Fatalf("testId = %d config.IDGenerator = %#v; want %#v", i, got, want)
+			t.Fatalf("testId = %d, testName = %s: config.IDGenerator = %#v; want %#v", i, tt.name, got, want)
 		}
 		if got, want := gotCfg.MaxAttributesPerSpan, wantCfg.MaxAttributesPerSpan; got != want {
-			t.Fatalf("testId = %d config.MaxAttributesPerSpan = %#v; want %#v", i, got, want)
+			t.Fatalf("testId = %d, testName = %s: config.MaxAttributesPerSpan = %#v; want %#v", i, tt.name, got, want)
 		}
 		if got, want := gotCfg.MaxLinksPerSpan, wantCfg.MaxLinksPerSpan; got != want {
-			t.Fatalf("testId = %d config.MaxLinksPerSpan = %#v; want %#v", i, got, want)
+			t.Fatalf("testId = %d, testName = %s: config.MaxLinksPerSpan = %#v; want %#v", i, tt.name, got, want)
 		}
 		if got, want := gotCfg.MaxAnnotationEventsPerSpan, wantCfg.MaxAnnotationEventsPerSpan; got != want {
-			t.Fatalf("testId = %d config.MaxAnnotationEventsPerSpan = %#v; want %#v", i, got, want)
+			t.Fatalf("testId = %d, testName = %s: config.MaxAnnotationEventsPerSpan = %#v; want %#v", i, tt.name, got, want)
 		}
 		if got, want := gotCfg.MaxMessageEventsPerSpan, wantCfg.MaxMessageEventsPerSpan; got != want {
-			t.Fatalf("testId = %d config.MaxMessageEventsPerSpan = %#v; want %#v", i, got, want)
+			t.Fatalf("testId = %d, testName = %s: config.MaxMessageEventsPerSpan = %#v; want %#v", i, tt.name, got, want)
 		}
 
 	}