@@ -963,6 +963,24 @@ func TestUnmarshalNestedStruct(t *testing.T) {
963
963
"name" : "Planet Express" ,
964
964
"boss" : boss ,
965
965
"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
+ },
966
984
},
967
985
},
968
986
}
@@ -989,6 +1007,50 @@ func TestUnmarshalNestedStruct(t *testing.T) {
989
1007
if out .Boss .HiredAt .IsZero () {
990
1008
t .Fatalf ("expected out.Boss.HiredAt to be zero, but got `%t`" , out .Boss .HiredAt .IsZero ())
991
1009
}
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
+ }
992
1054
}
993
1055
994
1056
func TestUnmarshalNestedStructSlice (t * testing.T ) {
0 commit comments