package npcoccurrences

import (
	"encoding/json"
	"testing"
)

func TestExtractionResponsePreservesValidatorOwnedSemantics(t *testing.T) {
	content := []byte(`{"occurrences":[{"name":"","kind":"unsupported","source_refs":[{"start_unit_id":0,"end_unit_id":-1}]}]}`)
	var response extractionResponse
	if err := json.Unmarshal(content, &response); err != nil {
		t.Fatalf("json.Unmarshal() error = %v", err)
	}
	occurrence := response.Occurrences[0]
	if occurrence.Name != "" || occurrence.Kind != "unsupported" || occurrence.SourceRefs[0] != (occurrenceSourceRefResponse{StartUnitID: 0, EndUnitID: -1}) {
		t.Fatalf("decoded response = %#v", occurrence)
	}
}
