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)); }
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"]); }
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); }); }