Skip to content

Commit 339909d

Browse files
authored
Merge pull request #1 from msabramo/msabramo-pr-99
Test more things in TestUnmarshalNestedStruct
2 parents 0400041 + e3c0871 commit 339909d

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

request_test.go

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -963,6 +963,24 @@ func TestUnmarshalNestedStruct(t *testing.T) {
963963
"name": "Planet Express",
964964
"boss": boss,
965965
"founded-at": "2016-08-17T08:27:12Z",
966+
"teams": []Team{
967+
Team{
968+
Name: "Dev",
969+
Members: []Employee{
970+
Employee{Firstname: "Sean"},
971+
Employee{Firstname: "Iz"},
972+
},
973+
Leader: &Employee{Firstname: "Iz"},
974+
},
975+
Team{
976+
Name: "DxE",
977+
Members: []Employee{
978+
Employee{Firstname: "Akshay"},
979+
Employee{Firstname: "Peri"},
980+
},
981+
Leader: &Employee{Firstname: "Peri"},
982+
},
983+
},
966984
},
967985
},
968986
}
@@ -989,6 +1007,50 @@ func TestUnmarshalNestedStruct(t *testing.T) {
9891007
if out.Boss.HiredAt.IsZero() {
9901008
t.Fatalf("expected out.Boss.HiredAt to be zero, but got `%t`", out.Boss.HiredAt.IsZero())
9911009
}
1010+
1011+
if len(out.Teams) != 2 {
1012+
t.Fatalf("expected len(out.Teams) to be 2, but got `%d`", len(out.Teams))
1013+
}
1014+
1015+
if out.Teams[0].Name != "Dev" {
1016+
t.Fatalf("expected out.Teams[0].Name to be `Dev`, but got `%s`", out.Teams[0].Name)
1017+
}
1018+
1019+
if out.Teams[1].Name != "DxE" {
1020+
t.Fatalf("expected out.Teams[1].Name to be `DxE`, but got `%s`", out.Teams[1].Name)
1021+
}
1022+
1023+
if len(out.Teams[0].Members) != 2 {
1024+
t.Fatalf("expected len(out.Teams[0].Members) to be 2, but got `%d`", len(out.Teams[0].Members))
1025+
}
1026+
1027+
if len(out.Teams[1].Members) != 2 {
1028+
t.Fatalf("expected len(out.Teams[1].Members) to be 2, but got `%d`", len(out.Teams[1].Members))
1029+
}
1030+
1031+
if out.Teams[0].Members[0].Firstname != "Sean" {
1032+
t.Fatalf("expected out.Teams[0].Members[0].Firstname to be `Sean`, but got `%s`", out.Teams[0].Members[0].Firstname)
1033+
}
1034+
1035+
if out.Teams[0].Members[1].Firstname != "Iz" {
1036+
t.Fatalf("expected out.Teams[0].Members[1].Firstname to be `Iz`, but got `%s`", out.Teams[0].Members[1].Firstname)
1037+
}
1038+
1039+
if out.Teams[1].Members[0].Firstname != "Akshay" {
1040+
t.Fatalf("expected out.Teams[1].Members[0].Firstname to be `Akshay`, but got `%s`", out.Teams[1].Members[0].Firstname)
1041+
}
1042+
1043+
if out.Teams[1].Members[1].Firstname != "Peri" {
1044+
t.Fatalf("expected out.Teams[1].Members[1].Firstname to be `Peri`, but got `%s`", out.Teams[1].Members[1].Firstname)
1045+
}
1046+
1047+
if out.Teams[0].Leader.Firstname != "Iz" {
1048+
t.Fatalf("expected out.Teams[0].Leader.Firstname to be `Iz`, but got `%s`", out.Teams[0].Leader.Firstname)
1049+
}
1050+
1051+
if out.Teams[1].Leader.Firstname != "Peri" {
1052+
t.Fatalf("expected out.Teams[1].Leader.Firstname to be `Peri`, but got `%s`", out.Teams[1].Leader.Firstname)
1053+
}
9921054
}
9931055

9941056
func TestUnmarshalNestedStructSlice(t *testing.T) {

0 commit comments

Comments
 (0)