cd9e8b61
Add ScaleTracker.enteredCount
a73x 2026-04-16 10:41
Commit message
src/scale_tracker.zig
| Old | New | ||
|---|---|---|---|
| @@ -52,6 +52,10 @@ pub const ScaleTracker = struct { | |||
| 52 | } | 52 | } |
| 53 | return max_scale; | 53 | return max_scale; |
| 54 | } | 54 | } |
| 55 | |||
| 56 | pub fn enteredCount(self: *const ScaleTracker) usize { | ||
| 57 | return self.entered.count(); | ||
| 58 | } | ||
| 55 | }; | 59 | }; |
| 56 | 60 | ||
| 57 | test "new tracker reports default scale of 1" { | 61 | test "new tracker reports default scale of 1" { |
| @@ -135,3 +139,26 @@ test "setOutputScale on unknown id is a no-op" { | |||
| 135 | t.setOutputScale(999, 5); | 139 | t.setOutputScale(999, 5); |
| 136 | try std.testing.expectEqual(@as(i32, 1), t.bufferScale()); | 140 | try std.testing.expectEqual(@as(i32, 1), t.bufferScale()); |
| 137 | } | 141 | } |
| 142 | |||
| 143 | test "enteredCount reflects the entered-output set" { | ||
| 144 | var t = ScaleTracker.init(std.testing.allocator); | ||
| 145 | defer t.deinit(); | ||
| 146 | |||
| 147 | try std.testing.expectEqual(@as(usize, 0), t.enteredCount()); | ||
| 148 | |||
| 149 | try t.addOutput(1); | ||
| 150 | try t.addOutput(2); | ||
| 151 | try std.testing.expectEqual(@as(usize, 0), t.enteredCount()); | ||
| 152 | |||
| 153 | try t.enterOutput(1); | ||
| 154 | try std.testing.expectEqual(@as(usize, 1), t.enteredCount()); | ||
| 155 | |||
| 156 | try t.enterOutput(2); | ||
| 157 | try std.testing.expectEqual(@as(usize, 2), t.enteredCount()); | ||
| 158 | |||
| 159 | t.leaveOutput(1); | ||
| 160 | try std.testing.expectEqual(@as(usize, 1), t.enteredCount()); | ||
| 161 | |||
| 162 | t.removeOutput(2); | ||
| 163 | try std.testing.expectEqual(@as(usize, 0), t.enteredCount()); | ||
| 164 | } | ||