(t *testing.T)
| 674 | } |
| 675 | |
| 676 | func TestResolveHeadTime_NowBound(t *testing.T) { |
| 677 | evalTime := time.Date(2024, 1, 15, 12, 0, 0, 0, time.UTC) |
| 678 | subst := unionfind.New() |
| 679 | |
| 680 | // Create an interval with 'now' as the end bound |
| 681 | start := ast.Date(2024, 1, 1) |
| 682 | headTime := ast.NewInterval( |
| 683 | ast.NewTimestampBound(start), |
| 684 | ast.Now(), // 'now' bound |
| 685 | ) |
| 686 | |
| 687 | result, err := ResolveHeadTime(&headTime, subst, evalTime) |
| 688 | if err != nil { |
| 689 | t.Fatalf("ResolveHeadTime returned error: %v", err) |
| 690 | } |
| 691 | if result == nil { |
| 692 | t.Fatal("ResolveHeadTime returned nil") |
| 693 | } |
| 694 | |
| 695 | // The 'now' bound should be resolved to evalTime |
| 696 | expectedEnd := ast.NewTimestampBound(evalTime) |
| 697 | if result.End.Type != ast.TimestampBound || result.End.Timestamp != expectedEnd.Timestamp { |
| 698 | t.Errorf("ResolveHeadTime end = %v, want %v", result.End, expectedEnd) |
| 699 | } |
| 700 | } |
| 701 | |
| 702 | func TestResolveHeadTime_VariableBound(t *testing.T) { |
| 703 | evalTime := ast.Date(2024, 1, 15) |
nothing calls this directly
no test coverage detected