public void SetUp()
        {
            var registry = new FubuRegistry();

            registry.Actions.IncludeType <RestController1>();

            // TODO -- this really needs to be done with a Bottle
            var typePool = new TypePool();

            typePool.AddAssembly(Assembly.GetExecutingAssembly());

            registry.Policies.Add(new ConnegAttachmentPolicy(typePool));
            registry.Services <ResourcesServiceRegistry>();


            registry.Policies.Add(x => {
                x.Where.AnyActionMatches(
                    call => call.HandlerType == typeof(RestController1) && !call.Method.Name.StartsWith("Not"));

                x.Conneg.ApplyConneg();
            });

            theBehaviorGraph = BehaviorGraph.BuildFrom(registry);
            theConnegGraph   = new ConnegGraph(theBehaviorGraph);
        }
        public void Setup()
        {
            var types = new TypePool();

            types.AddAssembly(GetType().Assembly);

            _runner = new ViewEngines();
        }
        public void SetUp()
        {
            var pool = new TypePool(null);

            pool.AddAssembly(Assembly.GetExecutingAssembly());

            views = new WebFormViewFacility().FindViews(pool, new BehaviorGraph());
        }
Beispiel #4
0
        private TypePool typePool()
        {
            var pool = new TypePool();

            pool.AddAssembly(GetType().Assembly);

            pool.AddType(generateType("namespace FubuMVC.Razor.Tests.RazorModel.Binding{public class Bar{}}", "FubuMVC.Razor.Tests.RazorModel.Binding.Bar"));
            pool.AddType <Bar>();
            pool.AddType <Baz>();
            pool.AddType <Generic <Baz> >();
            pool.AddType <Generic <Baz, Bar> >();

            return(pool);
        }
Beispiel #5
0
            internal void Apply(SettingRegistry registry, BehaviorGraph graph)
            {
                var typePool = new TypePool();

                if (_useApplicationAssembly)
                {
                    typePool.AddAssembly(graph.ApplicationAssembly);
                }

                typePool.AddAssemblies(_assemblies);

                typePool.TypesMatching(_filter)
                .Where(type => graph.Services.DefaultServiceFor(type) == null)
                .Each(type => registry.AddSettingType(type));
            }
Beispiel #6
0
        internal TypePool BuildPool(Assembly applicationAssembly)
        {
            var types = new TypePool();

            if (_typePoolConfigurations.Any())
            {
                _typePoolConfigurations.Each(x => x(types));
            }
            else
            {
                types.AddAssembly(applicationAssembly);
            }

            return(types);
        }
        IEnumerable <HandlerCall> IHandlerSource.FindCalls()
        {
            var types = new TypePool();

            if (_assemblies.Any())
            {
                types.AddAssemblies(_assemblies);
            }
            else
            {
                types.AddAssembly(FubuTransportRegistry.FindTheCallingAssembly());
            }

            return(types.TypesMatching(_typeFilters.Matches).SelectMany(actionsFromType));
        }
Beispiel #8
0
        private static TypePool getTypes()
        {
            var types = new TypePool();

            types.AddAssembly(TypePool.FindTheCallingAssembly());

            var filter = new CompositeFilter <Assembly>();

            filter.Excludes.Add(a => a.IsDynamic);
            filter.Excludes.Add(a => types.HasAssembly(a));
            filter.Includes += (t => true);

            types.AddSource(() => AppDomain.CurrentDomain.GetAssemblies().Where(filter.MatchesAll));

            return(types);
        }
        public void conneg_attachement_policy_finds_and_applies_resource_configuration()
        {
            var registry = new FubuRegistry();

            var typePool = new TypePool();

            typePool.AddAssembly(Assembly.GetExecutingAssembly());

            registry.Policies.Add(x => {
                x.Conneg.ApplyConneg();
            });

            registry.Policies.Add(new ConnegAttachmentPolicy(typePool));
            registry.Services <ResourcesServiceRegistry>();

            registry.Actions.IncludeType <RestController1>();


            var graph = BehaviorGraph.BuildFrom(registry);

            var connegOutput = graph
                               .BehaviorFor <RestController1>(x => x.Find(null))
                               .Output;

            var writerNode = connegOutput.Writers.Single().As <MediaWriterNode>();

            // Assert the xml media
            var objectDef = writerNode.As <IContainerModel>().ToObjectDef()
                            .FindDependencyDefinitionFor <IMediaWriter <Address> >();


            var document = objectDef.DependencyFor <IMediaDocument>().ShouldBeOfType <ConfiguredDependency>();

            document.DependencyType.ShouldEqual(typeof(IMediaDocument));
            document.Definition.Type.ShouldEqual(typeof(XmlMediaDocument));
            document.Definition.DependencyFor <XmlMediaOptions>().ShouldBeOfType <ValueDependency>()
            .Value.ShouldBeOfType <XmlMediaOptions>().Namespace.ShouldEqual("something.xsd");

            objectDef.DependencyFor <ILinkSource <Address> >().ShouldBeOfType <ValueDependency>()
            .Value.ShouldNotBeNull();


            objectDef.DependencyFor <IProjection <Address> >().ShouldBeOfType <ValueDependency>()
            .Value.ShouldBeOfType <Projection <Address> >();
        }
        private TypePool typePool()
        {
            var pool = new TypePool();

            pool.AddAssembly(GetType().Assembly);

            var externalAssemblyDuplicatedType = generateType("namespace FubuMVC.Spark.Tests.SparkModel.Binding{public class DuplicatedGeneric<T>{}}", "FubuMVC.Spark.Tests.SparkModel.Binding.DuplicatedGeneric`1");

            pool.AddType <Bar>();
            pool.AddType <Baz>();
            pool.AddType <Generic <Baz> >();
            pool.AddType <Generic <Bar> >();
            pool.AddType <Generic <Baz, Bar> >();
            pool.AddType <DuplicatedGeneric <Bar> >();
            pool.AddSource(() => new[] { externalAssemblyDuplicatedType.Assembly, GetType().Assembly });
            pool.AddType(externalAssemblyDuplicatedType);

            return(pool);
        }
        public void SetUp()
        {
            var registry = new FubuRegistry();

            registry.Actions.IncludeType <Controller1>();

            registry.Policies.Add(x => {
                x.Conneg.ApplyConneg();
            });


            var typePool = new TypePool();

            typePool.AddAssembly(Assembly.GetExecutingAssembly());

            registry.Policies.Add(new ConnegAttachmentPolicy(typePool));

            theGraph = BehaviorGraph.BuildFrom(registry);
        }
 public AppliesToExpression ToAssembly(Assembly assembly)
 {
     _pool.AddAssembly(assembly);
     return(this);
 }
Beispiel #13
0
 public TemplateComposerTester()
 {
     _types = new TypePool();
     _types.AddAssembly(GetType().Assembly);
 }