public void ShouldReturnTreeOfDelegateWithInternalComplexTypes_NotReferenced()
 {
     var reader = DelegateReader.CreateWithSetOfAssemblies(AssemblySet.Core, false, false);
     var tree   = reader.Read((MyDel2)(x =>
     {
         if (x.Value >= 0 && x.Value < 5)
         {
             return(1);
         }
         else if (x.Value >= 5 && x.Value < 10)
         {
             return(2);
         }
         return(3);
     }));
 }
        public void ShouldReturnTreeOfDelegateWithInternalComplexTypes_NotReferenced_AddOnPrepare()
        {
            var reader = DelegateReader.CreateWithSetOfAssemblies(AssemblySet.Core, true, false);
            var tree   = reader.Read((MyDel2)(x =>
            {
                if (x.Value >= 0 && x.Value < 5)
                {
                    return(1);
                }
                else if (x.Value >= 5 && x.Value < 10)
                {
                    return(2);
                }
                return(3);
            }));

            tree.Should().NotBeNull();
            tree.FirstMethodOrDefault().Should().NotBeNull();
            tree.Warnings().Count.Should().Be(0);
        }
        public void ShouldReturnTreeOfSimpleDelegate()
        {
            var reader = DelegateReader.CreateWithSetOfAssemblies(GetCoreAssemblies(), false, false);
            var tree   = reader.Read((MyDel1)(x =>
            {
                if (x >= 0 && x < 5)
                {
                    return(1);
                }
                else if (x >= 5 && x < 10)
                {
                    return(2);
                }
                return(3);
            }));

            tree.Should().NotBeNull();
            tree.FirstMethodOrDefault().Should().NotBeNull();
            tree.Warnings().Count.Should().Be(0);
        }
        public void ShouldReturnTreeOfDelegateWithExternalComplexTypes_Referenced()
        {
            var reader = DelegateReader.CreateWithSetOfAssemblies(GetCoreAssemblies().Concat(new[] { typeof(ExternalFoo).Assembly }).ToList(), false, false);
            var tree   = reader.Read((MyDel3)(x =>
            {
                if (x.Value >= 0 && x.Value < 5)
                {
                    return(1);
                }
                else if (x.Value >= 5 && x.Value < 10)
                {
                    return(2);
                }
                return(3);
            }));

            tree.Should().NotBeNull();
            tree.FirstMethodOrDefault().Should().NotBeNull();
            tree.Warnings().Count.Should().Be(0);
        }