public void AddSongToQueue_onEmptyQueue_insertsAtIndex0()
        {
            List <SongRequest> queue = new();
            int insertionPoint       = RequestBot.GetQueueInsertionPoint(queue, RequestBot.QueueInsertionStyle.RoundRobin, "A");

            Assert.Equal(0, insertionPoint);
        }
        public void AddSongToQueue_onQueueWhereEveryoneHasOneSong_insertsAtEnd()
        {
            List <SongRequest> queue = new()
            {
                new SongRequest(null, generateFakeTwitchUser("A"), DateTime.UtcNow),
                new SongRequest(null, generateFakeTwitchUser("B"), DateTime.UtcNow),
                new SongRequest(null, generateFakeTwitchUser("C"), DateTime.UtcNow),
            };
            int insertionPoint = RequestBot.GetQueueInsertionPoint(queue, RequestBot.QueueInsertionStyle.RoundRobin, "D");

            Assert.Equal(3, insertionPoint);
        }
        public void AddSongToQueue_onIfThisIsRequestersFirstSongAndSomeoneHasMultipleSongsInQueue_insertBeforeAnyonesSecondSong()
        {
            List <SongRequest> queue = new()
            {
                new SongRequest(null, generateFakeTwitchUser("A"), DateTime.UtcNow),
                new SongRequest(null, generateFakeTwitchUser("B"), DateTime.UtcNow),
                new SongRequest(null, generateFakeTwitchUser("A"), DateTime.UtcNow),
                new SongRequest(null, generateFakeTwitchUser("C"), DateTime.UtcNow),
            };
            int insertionPoint = RequestBot.GetQueueInsertionPoint(queue, RequestBot.QueueInsertionStyle.RoundRobin, "D");

            Assert.Equal(2, insertionPoint);
        }