public void JoinAsMember(Guid meetingId, string userNameWithDomain) { User user = this.userFactory.Create(userNameWithDomain); Meeting meeting = this.bunchOfMeetings.Get(meetingId); meeting.AddMember(user); }
private HashSet <Meeting> Load() { var meetings = this.cache.Get <HashSet <Meeting> >(this.cacheKey); if (meetings is null) { meetings = new HashSet <Meeting>(); var meeting = new Meeting("Game of Thrones"); meeting.AddMember(new User("DOMAIN\\Tyrion")); meeting.AddLeader(new User("DOMAIN\\Joffrey")); meeting.AddMember(new User("DOMAIN\\Cersei")); meeting.AddMember(new User("DOMAIN\\Varys")); meetings.Add(meeting); this.Save(meetings); } return(meetings); }
public void WhenOneMemberAndNoLeader_ArrangeTeams_TeamsShouldBeEmpty() { Meeting meeting = this.EmptyMeeting(); User user = new User("domain\\user"); meeting.AddMember(user); IEnumerable <Team> teams = meeting.Teams; teams.Should().BeEmpty(); }
public void WhenUserIsMember_WhenAddedAsLeader_NoLongerIsMember() { Meeting meeting = this.EmptyMeeting(); User user = new User("domain\\user"); meeting.AddMember(user); meeting.AddLeader(user); meeting.Leaders.Should().Contain(user); meeting.Members.Should().NotContain(user); }
public void WhenUserAdded5TimesAsMember_MeetingContainsOnly1Member() { Meeting meeting = this.EmptyMeeting(); User user = new User("domain\\user"); for (int i = 0; i < 5; i++) { meeting.AddMember(user); } meeting.Members.Should().Contain(user); meeting.Members.Should().ContainSingle(); }
public void WhenOneMemberAndOneLeader_ArrangeTeams_TeamsShouldContain2Users() { Meeting meeting = this.EmptyMeeting(); User user1 = new User("domain\\user1"); User user2 = new User("domain\\user2"); meeting.AddLeader(user1); meeting.AddMember(user2); meeting.ArrangeTeams(); IEnumerable <Team> teams = meeting.Teams; teams.Should().HaveCount(1); teams.Single().Users.Should().HaveCount(1); teams.Single().Users.Should().Contain(user2); teams.Single().Leader.Should().Be(user1); }