public void DefaultIfEmptyWithDataAndDefaultReplacement()
        {
            DataProducer <string>  subject = new DataProducer <string>();
            IDataProducer <string> result  = subject.DefaultIfEmpty("foo");

            ProduceAndCheck(subject, result, new[] { "a", "b", "c" }, new[] { "a", "b", "c" });
        }
        public void DefaultIfEmptyWithoutDataButWithDefaultReplacement()
        {
            DataProducer <string>  subject = new DataProducer <string>();
            IDataProducer <string> result  = subject.DefaultIfEmpty("foo");

            ProduceAndCheck(subject, result, new string[0], new string[] { "foo" });
        }
        public void DefaultIfEmptyWithoutData()
        {
            DataProducer <string>  subject = new DataProducer <string>();
            IDataProducer <string> result  = subject.DefaultIfEmpty();

            ProduceAndCheck(subject, result, new string[0], new string[] { null });
        }