| 175 | } |
| 176 | |
| 177 | func TestDporSnapJsonEncoding(t *testing.T) { |
| 178 | dpor := DporSnap{ |
| 179 | Seal: seal, |
| 180 | Sigs: []DporSignature{sig1, sig2}, |
| 181 | Proposers: []common.Address{addr1, addr2}, |
| 182 | Validators: []common.Address{addr1, addr2}, |
| 183 | } |
| 184 | jsonBytes, err := json.Marshal(dpor) |
| 185 | if err != nil { |
| 186 | fmt.Println("err:", err) |
| 187 | } |
| 188 | string1 := string(jsonBytes) |
| 189 | fmt.Println("json:", string1) |
| 190 | fmt.Println("============================================================") |
| 191 | |
| 192 | var dporSnap DporSnap |
| 193 | err = json.Unmarshal(jsonBytes, &dporSnap) |
| 194 | if err != nil { |
| 195 | t.Error("Unmarshal error", "error", err) |
| 196 | } |
| 197 | fmt.Println("Seal:", dporSnap.Seal) |
| 198 | fmt.Println("Sigs:", dporSnap.Sigs) |
| 199 | fmt.Println("Proposers:", dporSnap.Proposers) |
| 200 | fmt.Println("Validators:", dporSnap.Validators) |
| 201 | fmt.Println("============================================================") |
| 202 | |
| 203 | jsonBytes, err = json.Marshal(dporSnap) |
| 204 | if err != nil { |
| 205 | fmt.Println("err:", err) |
| 206 | } |
| 207 | string2 := string(jsonBytes) |
| 208 | fmt.Println("new json:", string2) |
| 209 | |
| 210 | assert.Equal(t, string1, string2) |
| 211 | assert.Equal(t, dpor, dporSnap) |
| 212 | |
| 213 | } |