예제 #1
0
        public void SetUp()
        {
            theRegistry    = new BindingRegistry();
            theDescription = Description.For(theRegistry).BulletLists.Single().Children.Single();

            thePropertyBinderList = theDescription.BulletLists.Single();
        }
예제 #2
0
        Task ISubSystem.Start()
        {
            return(Task.Factory.StartNew(() => {
                var settings = StoryTellerEnvironment.Get <SerenityEnvironment>();
                WebDriverSettings.Import(settings);

                FubuMvcPackageFacility.PhysicalRootPath = _settings.PhysicalPath;
                _runtime = _runtimeSource();


                var browserLifecycle = WebDriverSettings.GetBrowserLifecyle(ChooseBrowserType());
                _hosting = _settings.RootUrl.IsEmpty() ? (ISerenityHosting) new KatanaHosting() : new ExternalHosting();

                _application = _hosting.Start(_settings, _runtime, browserLifecycle);
                _applicationAlterations.Each(x => x(_application));

                _binding = _application.Services.GetInstance <BindingRegistry>();
                _bindingRegistrations.Each(x => x(_binding));

                configureApplication(_application, _binding);

                _contextualProviders = _runtime.Factory.GetAll <IContextualInfoProvider>();


                _runtime.Facility.Register(typeof(IApplicationUnderTest), ObjectDef.ForValue(_application));
                _runtime.Facility.Register(typeof(IRemoteSubsystems), ObjectDef.ForValue(this));
            }));
        }
예제 #3
0
        public void ShouldUseStepArgumentTransformationToConvertTable()
        {
            ObjectContainer.ScenarioContext = new ScenarioContext(null);
            BindingRegistry bindingRegistry = new BindingRegistry();

            ObjectContainer.BindingRegistry = bindingRegistry;

            UserCreator stepTransformationInstance = new UserCreator();
            var         transformMethod            = stepTransformationInstance.GetType().GetMethod("CreateUsers");

            bindingRegistry.StepTransformations.Add(new StepTransformationBinding(@"", transformMethod));

            var stepArgumentTypeConverter = new StepArgumentTypeConverter();

            var table = new Table("Name");

            table.AddRow("Tom");
            table.AddRow("Dick");
            table.AddRow("Harry");

            var result = stepArgumentTypeConverter.Convert(table, typeof(IEnumerable <User>), new CultureInfo("en-US"));

            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.InstanceOf <IEnumerable <User> >());
            Assert.That(((IEnumerable <User>)result).Count(), Is.EqualTo(3));
        }
예제 #4
0
        public void SetUp()
        {
            var registry = new BindingRegistry();

            registry.Add(new FakeModelBinder());
            theDescription = Description.For(registry);
        }
 public static void Alternate(OptionsUI ui)
 {
     foreach (var v in SRInput.Actions.Actions.Where(x => BindingRegistry.IsModdedAction(x) && !BindingRegistry.ephemeralActions.Contains(x)))
     {
         ui.CreateKeyBindingLine("key." + v.Name.ToLowerInvariant(), v);
     }
 }
예제 #6
0
        public void ShouldFindExampleConverter()
        {
            BindingRegistry registry = new BindingRegistry();
            registry.BuildBindingsFromAssembly(Assembly.GetExecutingAssembly());

            Assert.AreEqual(1, registry.StepTransformations.Where(s => s.Regex != null && s.Regex.Match("BindingRegistryTests").Success && s.Regex.Match("").Success == false).Count());
        }
예제 #7
0
        public void SetUp()
        {
            theRegistry = new BindingRegistry();
            var binder = new ConversionPropertyBinder(theRegistry);

            theDescription = Description.For(binder);

            theConversionList = theDescription.BulletLists.Single();
        }
예제 #8
0
        public FubuMvcContext(IApplicationUnderTest application, BindingRegistry binding, IEnumerable <IContextualInfoProvider> contextualProviders)
        {
            _application = application;
            _binding     = binding;

            _contextualProviders = contextualProviders ?? new IContextualInfoProvider[0];

            _contextualProviders.Each(x => x.Reset());
        }
예제 #9
0
        public TestRunner()
        {
            errorProvider           = ObjectContainer.ErrorProvider;
            testTracer              = ObjectContainer.TestTracer;
            unitTestRuntimeProvider = ObjectContainer.UnitTestRuntimeProvider;
            stepFormatter           = ObjectContainer.StepFormatter;

            bindingRegistry           = ObjectContainer.BindingRegistry;
            stepArgumentTypeConverter = ObjectContainer.StepArgumentTypeConverter;
        }
예제 #10
0
        protected TestRunner GetTestRunnerFor(params Type[] bindingTypes)
        {
            bindingRegistry = new BindingRegistry();
            foreach (var bindingType in bindingTypes)
            {
                bindingRegistry.BuildBindingsFromType(bindingType);
            }
            ObjectContainer.BindingRegistry = bindingRegistry;

            return(new TestRunner());
        }
        public void can_write_out_binding_registry_description()
        {
            var bindingRegistry = new BindingRegistry();

            bindingRegistry.Add(new FakeModelBinder());

            var description = Description.For(bindingRegistry);
            var writer      = new DescriptionTextWriter(description);

            Debug.WriteLine(writer.ToString());
        }
예제 #12
0
        public void ShouldFindScopedExampleConverter()
        {
            BindingRegistry registry = new BindingRegistry();
            registry.BuildBindingsFromAssembly(Assembly.GetExecutingAssembly());

            Assert.AreEqual(2,
                registry.Where(s => s.Regex.Match("SpecificBindingRegistryTests").Success && s.IsScoped).Count());

            Assert.AreEqual(0,
                registry.Where(s => s.Regex.Match("SpecificBindingRegistryTests").Success && s.IsScoped == false).Count());
        }
예제 #13
0
        public void GetHooks_should_return_all_hooks()
        {
            var sut = new BindingRegistry();

            var hook1 = new HookBinding(new Mock <IBindingMethod>().Object, HookType.BeforeScenario, null, 1);
            var hook2 = new HookBinding(new Mock <IBindingMethod>().Object, HookType.AfterFeature, null, 2);

            sut.RegisterHookBinding(hook1);
            sut.RegisterHookBinding(hook2);

            var result = sut.GetHooks();

            result.Should().BeEquivalentTo(hook1, hook2);
        }
예제 #14
0
        public void GetStepDefinitions_should_return_all_step_definitions()
        {
            var sut = new BindingRegistry();

            var stepDefinitionBinding1 = new StepDefinitionBinding(StepDefinitionType.Given, @"foo.*", new Mock <IBindingMethod>().Object, null);
            var stepDefinitionBinding2 = new StepDefinitionBinding(StepDefinitionType.When, @"bar.*", new Mock <IBindingMethod>().Object, null);

            sut.RegisterStepDefinitionBinding(stepDefinitionBinding1);
            sut.RegisterStepDefinitionBinding(stepDefinitionBinding2);

            var result = sut.GetStepDefinitions();

            result.Should().BeEquivalentTo(stepDefinitionBinding1, stepDefinitionBinding2);
        }
예제 #15
0
        public static IObjectBlockReader Reader()
        {
            var registry = new BindingRegistry();

            registry.Add(new VersionConstraintConverter());
            registry.Add(new GroupedDependencyConverter());

            var services = new InMemoryServiceLocator();
            var resolver = new ObjectResolver(services, registry, new NulloBindingLogger());

            services.Add <IObjectResolver>(resolver);

            return(new ObjectBlockReader(new ObjectBlockParser(), resolver, services, new RippleBlockRegistry()));
        }
예제 #16
0
        public void SetUp()
        {
            _registry          = new BindingRegistry();
            _property          = typeof(PropertyHolder).GetProperty("Property");
            _numericTypeFamily = _registry.AllConverterFamilies().FirstOrDefault(cf =>
                                                                                 cf.Matches(_property)) as NumericTypeFamily;
            _numericTypeFamily.ShouldNotBeNull();

            _context = MockRepository.GenerateMock <IPropertyContext>();
            _context.Stub(x => x.Property).Return(_property);
            _propertyValue = new BindingValue {
                RawValue = "1.000,001"
            };
            _context.Expect(c => c.RawValueFromRequest).Return(_propertyValue).Repeat.Times(4);
        }
예제 #17
0
        public override void PreLoad()
        {
            SlimeTraitRegistry.Register(new DietTraitProcessor(SRModInfo.GetCurrentInfo().Id, "diet"));
            SlimeTraitRegistry.Register(new TemperamentTraitProcessor(SRModInfo.GetCurrentInfo().Id, "temperament"));

            SRCallbacks.OnActorSpawn     += SRCallbacks_OnActorSpawn;
            SRCallbacks.OnSaveGameLoaded += (s) => s.Player.AddComponent <GenomeViewer>();
            SaveRegistry.RegisterDataParticipant <GenomeHolder>();
            SaveRegistry.RegisterDataParticipant <SlimeGeneticsHandler>();

            BindingRegistry.RegisterActions(typeof(ModActions));
            TranslationPatcher.AddUITranslation("key.probegenetics", "Probe Genetic Data");

            GeneticUI.SetupGeneticUI();
        }
        protected override void beforeEach()
        {
            theProperty = ReflectionHelper.GetProperty <Case>(x => x.Identifier);

            MockFor <IBindingContext>().Stub(x => x.Logger).Return(MockFor <IBindingLogger>());

            thePropertyBinder = MockFor <IPropertyBinder>();

            var registry = new BindingRegistry();

            Services.Inject(registry);
            registry.Add(thePropertyBinder);

            thePropertyBinder.Stub(x => x.Matches(null)).IgnoreArguments().Return(true);
            ClassUnderTest.PopulateProperty(typeof(Case), theProperty, MockFor <IBindingContext>());
        }
예제 #19
0
        public void StepArgumentTypeConverterShouldUseUserConverterForConversion()
        {
            ObjectContainer.ScenarioContext = new ScenarioContext(null);
            BindingRegistry bindingRegistry = new BindingRegistry();

            ObjectContainer.BindingRegistry = bindingRegistry;

            UserCreator stepTransformationInstance = new UserCreator();
            var         transformMethod            = stepTransformationInstance.GetType().GetMethod("Create");

            bindingRegistry.StepTransformations.Add(new StepTransformationBinding(@"user (\w+)", transformMethod));

            var stepArgumentTypeConverter = new StepArgumentTypeConverter();

            var result = stepArgumentTypeConverter.Convert("user xyz", typeof(User), new CultureInfo("en-US"));

            Assert.That(result.GetType(), Is.EqualTo(typeof(User)));
            Assert.That(((User)result).Name, Is.EqualTo("xyz"));
        }
예제 #20
0
 protected override void configureApplication(IApplicationUnderTest application, BindingRegistry binding)
 {
     WebDriverSettings.Current.Browser = BrowserType.Chrome;
 }
예제 #21
0
 public MultiBindingConfiguration(BindingRegistry registry, bool ifNeeded)
 {
     this.registry = registry;
     this.ifNeeded = ifNeeded;
     sources.Add(typeof(TSource));
 }
예제 #22
0
 protected virtual void configureApplication(IApplicationUnderTest application, BindingRegistry binding)
 {
 }
 public ModelBindingEndpoints(BindingRegistry bindingRegistry, IVisualizer visualizer)
 {
     _bindingRegistry = bindingRegistry;
     _visualizer      = visualizer;
 }
 public CachedResolutionPolicy(IInterceptionRule interceptionPolicy)
 {
     registry = new BindingRegistry(interceptionPolicy);
 }
예제 #25
0
 public static void Prefix(ref IEnumerable <PlayerAction> actions)
 {
     actions = actions.Where(x => !BindingRegistry.IsModdedAction(x));
 }
예제 #26
0
        public virtual void InitializeTestRunner(Assembly[] bindingAssemblies)
        {
            bindingRegistry = new BindingRegistry();
            foreach (Assembly assembly in bindingAssemblies)
            {
                bindingRegistry.BuildBindingsFromAssembly(assembly);
            }

            OnTestRunnerStart();
            AppDomain.CurrentDomain.DomainUnload +=
                delegate
                    {
                        OnTestRunnerEnd();
                    };
        }
예제 #27
0
 public BindingConfiguration(BindingRegistry registry, bool ifNeeded) :
     this(typeof(TSource), registry, ifNeeded)
 {
 }
예제 #28
0
 public ModelBindingFubuDiagnostics(BindingRegistry bindingRegistry)
 {
     _bindingRegistry = bindingRegistry;
 }
예제 #29
0
 public BindingConfiguration(Type targetType, BindingRegistry registry, bool ifNeeded)
 {
     this.targetType = targetType;
     Registry        = registry;
     IfNeeded        = ifNeeded;
 }