public void AddMultiplyBuildBinding_AddedOnlyOneElement()
        {
            var          buildBindings = FakeGenerator.BuildsBindings.Generate(3);
            Distribution distribution  = CreateDistribution();

            distribution.AddBuildBindings(buildBindings, null);
            distribution.AddBuildBindings(buildBindings, null);

            Assert.Equal(DistributionName, distribution.Name);
            Assert.NotEmpty(distribution.Owners);
            Assert.NotEmpty(distribution.AvailableLifeCycles);
            Assert.NotEmpty(distribution.LifeCycleStateRules);
            Assert.Equal(buildBindings, distribution.BindingToBuilds.Keys);
            Assert.IsType <DistributionCreated>(GetUncommitedChanges(distribution)[0]);
            Assert.IsType <BuildBindingsAdded>(GetUncommitedChanges(distribution)[1]);
            Assert.Equal(2, distribution.GetUncommitedChanges().Count());
        }
        private void UpdateBuildBindings(UpdateDistribution command, Distribution distribution)
        {
            (IList <BuildsBinding> newBindings, IList <BuildsBinding> bindingsToDelete) =
                collectionsComparer
                .Compare(distribution.BindingToBuilds.Keys, command.BuildBindings);

            distribution.AddBuildBindings(newBindings, command.ActionUser.Sid);
            distribution.RemoveBuildBinding(bindingsToDelete, command.ActionUser.Sid);
        }
        public void Create_WithBindings_Success()
        {
            var          buildsBindings = FakeGenerator.BuildsBindings.Generate(2);
            Distribution distribution   = CreateDistribution();

            distribution.AddBuildBindings(buildsBindings, FakeGenerator.GetUser().Sid);

            AssertDistribution(distribution, Owners, AvailableLifeCycles, LifeCycleStateRules);
            Assert.IsType <DistributionCreated>(GetUncommitedChanges(distribution)[0]);
            Assert.IsType <BuildBindingsAdded>(GetUncommitedChanges(distribution)[1]);
            AssertDistributionBuildBinding(distribution, GetUncommitedChanges(distribution)[1], buildsBindings);
            Assert.True(distribution.GetUncommitedChanges().Count == 2);
        }