public void GivenRightHasPriorityInitially_SetsNextPriorityAndInitialPriorityToRight()
        {
            // Act
            var tieBreaker = new AlternatingTwoWayTieBreaker(Alternated.RightHasPriorityInitially);

            // Assert
            tieBreaker.InitialPriority.Should().Be(Priority.Right);
            tieBreaker.NextPriority.Should().Be(Priority.Right);
        }
        public void ResolveTie_AlternatesThePriorityCorrectly()
        {
            // Arrange
            var tieBreaker = new AlternatingTwoWayTieBreaker(Alternated.RightHasPriorityInitially);

            // Act
            var firstResult = tieBreaker.ResolveTie();
            var secondresult = tieBreaker.ResolveTie();
            var thirdResult = tieBreaker.ResolveTie();

            // Assert
            firstResult.Should().Be(TieResult.Right);
            secondresult.Should().Be(TieResult.Left);
            thirdResult.Should().Be(TieResult.Right);
        }