public void A_Limit_must_produce_n_messages_before_throwing_a_StreamLimitReachedException_when_n_lower_than_input_size()
{
//TODO: check if it actually produces n messages
var input = Enumerable.Range(1, 6).ToList();
var n = input.Count - 2; // n < input.Count
var future = Source.From(input)
.Limit(n)
.Grouped(1000)
.RunWith(Sink.First<IEnumerable<int>>(), Materializer);
future.Invoking(f => f.Wait(TimeSpan.FromMilliseconds(300))).ShouldThrow<StreamLimitReachedException>();
}