package ingest import "testing" func TestChunkToFramesMonoDuplicate(t *testing.T) { frames, err := ChunkToFrames(PCMChunk{ Channels: 1, Samples: []int32{2147483647, -2147483648}, }) if err != nil { t.Fatalf("unexpected error: %v", err) } if len(frames) != 2 { t.Fatalf("expected 2 frames, got %d", len(frames)) } if frames[0].L != frames[0].R { t.Fatalf("expected mono duplication, got L=%v R=%v", frames[0].L, frames[0].R) } if frames[1].L != frames[1].R { t.Fatalf("expected mono duplication, got L=%v R=%v", frames[1].L, frames[1].R) } } func TestChunkToFramesStereoPassThrough(t *testing.T) { frames, err := ChunkToFrames(PCMChunk{ Channels: 2, Samples: []int32{100, 200, -300, -400}, }) if err != nil { t.Fatalf("unexpected error: %v", err) } if len(frames) != 2 { t.Fatalf("expected 2 frames, got %d", len(frames)) } if !(frames[0].L < frames[0].R) { t.Fatalf("expected left < right for first frame, got %v >= %v", frames[0].L, frames[0].R) } if !(frames[1].L > frames[1].R) { t.Fatalf("expected left > right for second frame, got %v <= %v", frames[1].L, frames[1].R) } } func TestChunkToFramesRejectsUnsupportedChannels(t *testing.T) { _, err := ChunkToFrames(PCMChunk{Channels: 3, Samples: []int32{1, 2, 3}}) if err == nil { t.Fatal("expected error for unsupported channels") } } func TestChunkToFramesRejectsInvalidInterleaving(t *testing.T) { _, err := ChunkToFrames(PCMChunk{Channels: 2, Samples: []int32{1, 2, 3}}) if err == nil { t.Fatal("expected error for invalid interleaving") } }