(t *testing.T)
| 2624 | } |
| 2625 | |
| 2626 | func TestRunContainerUnionCardinality(t *testing.T) { |
| 2627 | t.Run("Two Empty Runs", func(t *testing.T) { |
| 2628 | first := runContainer16{} |
| 2629 | second := runContainer16{} |
| 2630 | result := first.unionCardinality(&second) |
| 2631 | assert.Equal(t, uint(0), result) |
| 2632 | }) |
| 2633 | |
| 2634 | t.Run("First Run Empty", func(t *testing.T) { |
| 2635 | first := runContainer16{} |
| 2636 | second := runContainer16{} |
| 2637 | second.iaddRange(0, 1024) |
| 2638 | result := first.unionCardinality(&second) |
| 2639 | assert.Equal(t, uint(1024), result) |
| 2640 | }) |
| 2641 | |
| 2642 | t.Run("Second Run Empty", func(t *testing.T) { |
| 2643 | first := runContainer16{} |
| 2644 | second := runContainer16{} |
| 2645 | first.iaddRange(0, 1024) |
| 2646 | result := first.unionCardinality(&second) |
| 2647 | assert.Equal(t, uint(1024), result) |
| 2648 | }) |
| 2649 | |
| 2650 | t.Run("Disjoint Ranges", func(t *testing.T) { |
| 2651 | first := runContainer16{} |
| 2652 | first.iaddRange(512, 1024) |
| 2653 | second := runContainer16{} |
| 2654 | second.iaddRange(0, 256) |
| 2655 | result := first.unionCardinality(&second) |
| 2656 | assert.Equal(t, uint(256+512), result) |
| 2657 | }) |
| 2658 | |
| 2659 | t.Run("Complete Overlap", func(t *testing.T) { |
| 2660 | first := runContainer16{} |
| 2661 | first.iaddRange(0, 256) |
| 2662 | second := runContainer16{} |
| 2663 | second.iaddRange(0, 256) |
| 2664 | result := first.unionCardinality(&second) |
| 2665 | assert.Equal(t, uint(256), result) |
| 2666 | }) |
| 2667 | } |
| 2668 | |
| 2669 | func TestRunContainerIntersectCardinality(t *testing.T) { |
| 2670 | t.Run("Two Empty Runs", func(t *testing.T) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…