public void do_not_log_any_messages_when_the_collection_is_valid()
        {
            var target = new CollectionLengthTarget(){
                Names = new[]{"a"}
            };

            var rule = new CollectionLengthRule(1);
            rule.ValidateProperty(target, x => x.Names).MessagesFor<CollectionLengthTarget>(x => x.Names).Any().ShouldBeFalse();
        }
        public void log_message_when_collection_is_wrong_length()
        {
            var target = new CollectionLengthTarget(){
                Names = new string[0]
            };

            var rule = new CollectionLengthRule(1);
            rule.ValidateProperty(target, x => x.Names).MessagesFor<CollectionLengthTarget>(x => x.Names).Single().GetMessage()
                .ShouldEqual("Must be exactly 1 element(s)"); 
        }
 protected bool Equals(CollectionLengthRule other)
 {
     return(_length == other._length && Token.Equals(other.Token));
 }
 protected bool Equals(CollectionLengthRule other)
 {
     return _length == other._length && Token.Equals(other.Token);
 }