示例#1
0
        public void TimeStamping_NoFittingTimes_DoesNotReturnFullTeam()
        {
            var state = new ChatState();

            var now = DateTime.UtcNow;

            var aStart = now;
            var aEnd   = now.AddHours(1);

            var bStart = now.AddHours(1);
            var bEnd   = now.AddHours(3);

            var cStart = now.AddHours(3);

            // ---A--
            // BBB---
            // -CCCCC

            var signings = new[]
            {
                new Signing("A", true, false, aStart, aEnd),
                new Signing("B", true, false, bStart, bEnd),
                new Signing("C", true, false, cStart),
            };

            foreach (var signing in signings)
            {
                state = state.AddSigning(signing);
            }

            state.TwosFull().ShouldBe(false);
            state.GetSuggestion().Count().ShouldBe(0);
        }
示例#2
0
        public void GetSuggestion_Twos()
        {
            var state = new ChatState();

            var signings = new[]
            {
                new Signing("2", true, false),
                new Signing("3", false, true),
                new Signing("Any", true, true),
            };

            foreach (var signing in signings)
            {
                state = state.AddSigning(signing);
            }

            state.GetSuggestion().Count().ShouldBe(2);
        }