these tests don;t convince me that the code works correct. I would be much more happy to see a couple of simple examples, eg. like this two:

```
SpeedLimitQueue queue(2);
queue.push(1, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(2, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(3, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(4, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(5, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(6, SpeedLimitQueue::OperationType::kRead, 1);
ASSERT_EQ({1, 2}, queue.pop(seconds(0)));
ASSERT_EQ({3, 4}, queue.pop(seconds(1)));
ASSERT_EQ({5, 6}, queue.pop(seconds(1)));
ASSERT_EQ({},     queue.pop(seconds(1)));
```

```
SpeedLimitQueue queue(2);
queue.push(1, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(2, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(3, SpeedLimitQueue::OperationType::kRead, 1);
queue.push(4, SpeedLimitQueue::OperationType::kRead, 1);
ASSERT_EQ({1, 2}, queue.pop(seconds(0)));
ASSERT_EQ({3}, queue.pop(milliseconds(500));
ASSERT_EQ({4}, queue.pop(milliseconds(500));
ASSERT_EQ({},  queue.pop(milliseconds(500));
```