public void Constructor_EmptyCollection_EmptyCollection()
        {
            // Arrange
            var members = Enumerable.Empty <Member>();

            // Act
            var result = new EstimationResult(members);

            // Verify
            var expectedResult = new KeyValuePair <Member, Estimation> [0];

            CollectionAssert.AreEquivalent(expectedResult, result.ToList());
        }
        public void Constructor_ScrumMasterAndMember_MembersHasNoEstimation()
        {
            // Arrange
            var team   = new ScrumTeam("test team");
            var master = team.SetScrumMaster("master");
            var member = (Member)team.Join("member", false);

            // Act
            var result = new EstimationResult(new Member[] { master, member });

            // Verify
            var expectedResult = new KeyValuePair <Member, Estimation>[]
            {
                new KeyValuePair <Member, Estimation>(member, null),
                new KeyValuePair <Member, Estimation>(master, null),
            };

            CollectionAssert.AreEquivalent(expectedResult, result.ToList());
        }
        public void IndexerSet_SetScrumMasterEstimation_EstimationOfScrumMasterIsSet()
        {
            // Arrange
            var team       = new ScrumTeam("test team");
            var master     = team.SetScrumMaster("master");
            var member     = (Member)team.Join("member", false);
            var target     = new EstimationResult(new Member[] { master, member });
            var estimation = new Estimation();

            // Act
            target[master] = estimation;

            // Verify
            var expectedResult = new KeyValuePair <Member, Estimation>[]
            {
                new KeyValuePair <Member, Estimation>(member, null),
                new KeyValuePair <Member, Estimation>(master, estimation),
            };

            CollectionAssert.AreEquivalent(expectedResult, target.ToList());
        }