Esempio n. 1
0
        public async Task Aggregate_NoAnswers_ReturnEmpty()
        {
            // arrange
            var aggregator  = new SingleChoiceAggregator();
            var instruction = new SingleChoiceInstruction(new[] { "A", "B", "C" });

            // act
            var result = await aggregator.Aggregate(instruction, ImmutableDictionary <string, SingleChoiceAnswer> .Empty);

            // assert
            var multipleChoiceResults = Assert.IsType <SelectionPollResults>(result);

            Assert.Equal(multipleChoiceResults.Options.Keys, instruction.Options);
            Assert.All(multipleChoiceResults.Options, x => Assert.Empty(x.Value));
        }
Esempio n. 2
0
        public async Task Aggregate_SomeAnswers_ReturnResult()
        {
            // arrange
            var aggregator  = new SingleChoiceAggregator();
            var instruction = new SingleChoiceInstruction(new[] { "A", "B", "C" });

            // act
            var result = await aggregator.Aggregate(instruction, new Dictionary <string, SingleChoiceAnswer>
            {
                { "1", new SingleChoiceAnswer("A") },
                { "2", new SingleChoiceAnswer("A") },
                { "3", new SingleChoiceAnswer("B") },
            });

            // assert
            var multipleChoiceResults = Assert.IsType <SelectionPollResults>(result);

            Assert.Equal(multipleChoiceResults.Options["A"], new[] { "1", "2" });
            Assert.Equal(multipleChoiceResults.Options["B"], new[] { "3" });
            Assert.Empty(multipleChoiceResults.Options["C"]);
        }
Esempio n. 3
0
        public async Task CreatePoll_Global_ReceiveSyncPollObj()
        {
            // arrange
            var (connection, _) = await ConnectToOpenedConference();

            // act
            var instruction = new SingleChoiceInstruction(new[] {"A", "B"});
            var createDto = new CreatePollDto(instruction, new PollConfig("A or B?", true, false), PollState.Default,
                null);

            var pollId = await CreatePollReturnId(connection, createDto);

            await connection.SyncObjects.AssertSyncObject<SynchronizedPoll>(SynchronizedPoll.SyncObjId(pollId), poll =>
            {
                Assert.Equal(pollId, poll.Id);
                Assert.Equal(createDto.Config, poll.Config);
                Assert.Equal(createDto.InitialState, poll.State);

                var actualInstruction = Assert.IsType<SingleChoiceInstruction>(poll.Instruction);
                Assert.Equal(instruction.Options, actualInstruction.Options);
            });
        }