Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public void TimeStamping()
        {
            var state = new ChatState();

            var now = DateTime.UtcNow;

            var aStart = now.AddHours(3);
            var aEnd   = now.AddHours(4);

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

            var cStart = now.AddHours(1);

            // ---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.GetTwos().SequenceEqual(
                ImmutableList.Create(signings[1], signings[2]));
        }
Exemplo n.º 3
0
        public void TwosFull()
        {
            var state    = new ChatState();
            var signing1 = new Signing("First", true);
            var signing2 = new Signing("Second", true);

            state = state.AddSigning(signing1).AddSigning(signing2);

            state.TwosFull().ShouldBe(true);
            state.ThreesFull().ShouldBe(false);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        public void ThreesFull()
        {
            var state = new ChatState();

            var signings = new[]
            {
                new Signing("First", false, true),
                new Signing("Second", false, true),
                new Signing("Third", false, true)
            };

            foreach (var signing in signings)
            {
                state = state.AddSigning(signing);
            }
            state.ThreesFull().ShouldBe(true);
            state.TwosFull().ShouldBe(false);
        }