public void GetOutputDataInfo()
        {
            var intExpression = Expression.Constant(0);
            var input         = new StreamedSequenceInfo(typeof(int[]), intExpression);
            var result        = _resultOperator.GetOutputDataInfo(input);

            Assert.That(result, Is.InstanceOf(typeof(StreamedSequenceInfo)));
            Assert.That(result.DataType, Is.SameAs(typeof(IQueryable <int>)));
            Assert.That(((StreamedSequenceInfo)result).ItemExpression, Is.InstanceOf(typeof(QuerySourceReferenceExpression)));
            Assert.That(
                ((QuerySourceReferenceExpression)((StreamedSequenceInfo)result).ItemExpression).ReferencedQuerySource,
                Is.SameAs(_resultOperator));
        }
        public void GetOutputDataInfo_AssignableSource2()
        {
            var resultOperator = new UnionResultOperator("i", typeof(object), Expression.Constant(new[] { "string" }));

            var cookExpression = Expression.Constant(null, typeof(Cook));
            var input          = new StreamedSequenceInfo(typeof(Cook[]), cookExpression);

            var result = resultOperator.GetOutputDataInfo(input);

            Assert.That(result, Is.InstanceOf(typeof(StreamedSequenceInfo)));
            Assert.That(result.DataType, Is.SameAs(typeof(IQueryable <object>)));
        }
    public void GetOutputDataInfo_AssignableSource2 ()
    {
      var resultOperator = new UnionResultOperator ("i", typeof (object), Expression.Constant (new[] { "string" }));

      var cookExpression = Expression.Constant (null, typeof (Cook));
      var input = new StreamedSequenceInfo (typeof (Cook[]), cookExpression);

      var result = resultOperator.GetOutputDataInfo (input);

      Assert.That (result, Is.InstanceOf (typeof (StreamedSequenceInfo)));
      Assert.That (result.DataType, Is.SameAs (typeof (IQueryable<object>)));
    }