package systemtables

import "testing"

func TestSchemaIDsDeterministic(t *testing.T) {
	tableID1, err := tableIDFor("ks", "tbl")
	if err != nil {
		t.Fatalf("tableIDFor failed: %v", err)
	}
	tableID2, err := tableIDFor("ks", "tbl")
	if err != nil {
		t.Fatalf("tableIDFor failed: %v", err)
	}
	if tableID1 != tableID2 {
		t.Fatalf("expected stable table IDs, got %s vs %s", tableID1, tableID2)
	}

	tableID3, err := tableIDFor("ks", "tbl2")
	if err != nil {
		t.Fatalf("tableIDFor failed: %v", err)
	}
	if tableID1 == tableID3 {
		t.Fatalf("expected different table IDs for different tables")
	}

	viewID1, err := viewIDFor("ks", "mv")
	if err != nil {
		t.Fatalf("viewIDFor failed: %v", err)
	}
	viewID2, err := viewIDFor("ks", "mv")
	if err != nil {
		t.Fatalf("viewIDFor failed: %v", err)
	}
	if viewID1 != viewID2 {
		t.Fatalf("expected stable view IDs, got %s vs %s", viewID1, viewID2)
	}
}
