public void AddRemoveAndReplace_FromQueue_ShouldAddRemoveAndReplace_InFIFO()
        {
            // Arrange
            var queue = new HashedQueue();

            // Act and Assert
            queue.Add(1, "One");
            queue.Add(2, "Two");
            queue.Add(3, "Three");
            queue.Add(4, "Four");
            queue.Add(5, "Five");
            queue.Add(6, "Six");
            queue.Add(7, "Seven");

            var(id, value) = queue.Remove();
            id.Should().Be(1);
            value.Should().Be("One");

            (id, value) = queue.Remove();
            id.Should().Be(2);
            value.Should().Be("Two");

            queue.Replace(4, "IV");

            (id, value) = queue.Remove();
            id.Should().Be(3);
            value.Should().Be("Three");

            (id, value) = queue.Remove();
            id.Should().Be(4);
            value.Should().Be("IV");
        }