public void double_names_are_not_added()
        {
            NameSelection selection = Selection.Setup()
                                      .WithEvents(Selection.New())
                                      .Handle(new AddNames
            {
                Id    = Selection.Id,
                Names = new[] { "Beatrix", "Indi" },
            })
                                      .AssertIsValid(
                ValidationMessage.Warn("Some names occurred multiple times: Indi."));

            Assert.AreEqual(11, selection.Names.Count);
        }
Exemple #2
0
        private Result <NameSelection> ShouldBeDistinct(string[] names)
        {
            var doubles = names.Where(name => Names.Contains(name)).ToArray();

            if (doubles.Length == names.Length)
            {
                return(Result.WithMessages <NameSelection>(ValidationMessage.Error(Message.NoNewNames)));
            }
            return(doubles.Any()
                ? Result.For(this, ValidationMessage.Warn(string.Format(
                                                              CultureInfo.CurrentCulture,
                                                              Message.DoubleNames,
                                                              string.Join(", ", doubles.OrderBy(n => n)))))
                : Result.For(this));
        }