ความคืบหน้างาน ไฟล์ต้นฉบับ

tracker/ojson_roundtrip_test.go

package main

import (
	"bytes"
	"os"
	"testing"
)

func TestOrderedJSONRoundTripsDataFilesExactly(t *testing.T) {
	for _, name := range []string{"data/milestones.json", "data/tests.json", "data/problems.json", "data/checkpoints.json"} {
		orig, err := os.ReadFile(name)
		if err != nil {
			t.Fatal(err)
		}
		v, err := parseOrdered(orig)
		if err != nil {
			t.Fatalf("%s: %v", name, err)
		}
		out, err := writeOrdered(v)
		if err != nil {
			t.Fatal(err)
		}
		if !bytes.Equal(orig, out) {
			t.Fatalf("%s: round trip changed the file", name)
		}
	}
}