public FixtureDiscoveryContext(INativeTestFactory nativeTestFactory, Func<SpecificationFixture> fixtureFactory, NameGenerator nameGenerator, SpecificationFixture fixtureInstanceForDiscovery)
 {
     _nativeTestFactory = nativeTestFactory;
     _fixtureFactory = fixtureFactory;
     NameGenator = nameGenerator;
     _fixtureInstanceForDiscovery = fixtureInstanceForDiscovery;
 }
 public FixtureContext(INativeTestFactory nativeTestFactory, Func<SpecificationFixture> fixtureFactory, NameReservations nameReservations, IGlobalSetupManager globalSetupManager)
 {
     NativeTestFactory = nativeTestFactory;
     FixtureFactory = fixtureFactory;
     NameReservations = nameReservations;
     _fixtureInstanceForDiscovery = fixtureFactory();
     GlobalSetupManager = globalSetupManager;
 }
 public FixtureContext(INativeTestFactory nativeTestFactory, Func<SpecificationFixture> fixtureFactory, NameReservations nameReservations, IGlobalSetupManager globalSetupManager)
 {
     NativeTestFactory = nativeTestFactory;
     FixtureFactory = fixtureFactory;
     NameReservations = nameReservations;
     _fixtureInstanceForDiscovery = fixtureFactory();
     GlobalSetupManager = globalSetupManager;
 }
        public static void BuildTestFixture(Type type, INativeTestFactory nativeTestFactory, GlobalSetupOwner globalSetupOwner)
        {
            if (nativeTestFactory is ValidatingNativeTestFactory)
            {
                throw new InvalidOperationException("Do not pass a ValidatingNativeTestFactory here.");
            }

            nativeTestFactory = new ValidatingNativeTestFactory(nativeTestFactory);

            var constructor = type.GetConstructor(new Type[0]);

            Func <SpecificationFixture> fixtureFactory = delegate()
            {
                var fixture = constructor.Invoke(new object[0]) as SpecificationFixture;
                return(fixture);
            };

            var setupManager = globalSetupOwner.GetSetupManager(type, fixtureFactory);

            FixtureContext fixtureContext = new FixtureContext(nativeTestFactory, fixtureFactory, new NameReservations(), setupManager);

            var testContext = new TestContext()
            {
                Position       = TestPosition.At(),
                FixtureContext = fixtureContext,
                Name           = new TestName
                {
                    FullName      = type.Namespace + "." + type.Name,
                    Shortname     = type.Name,
                    MultilineName = type.Namespace + "." + type.Name
                }
            };

            var explicitReason = ExplicitAttributeReader.GetFor(type);

            var result = BuildSuiteForTextContext(fixtureContext, testContext, fixtureContext.GetSpecificationRootAction(), true, explicitReason);

            nativeTestFactory.SetRoot(result);
        }
        public static void BuildTestFixture(Type type, INativeTestFactory nativeTestFactory, GlobalSetupOwner globalSetupOwner)
        {
            if (nativeTestFactory is ValidatingNativeTestFactory)
                throw new InvalidOperationException("Do not pass a ValidatingNativeTestFactory here.");

            nativeTestFactory = new ValidatingNativeTestFactory(nativeTestFactory);

            var constructor = type.GetConstructor(new Type[0]);

            Func<SpecificationFixture> fixtureFactory = delegate()
            {
                var fixture = constructor.Invoke(new object[0]) as SpecificationFixture;
                return fixture;
            };

            var setupManager  = globalSetupOwner.GetSetupManager(type, fixtureFactory);

            FixtureContext fixtureContext = new FixtureContext(nativeTestFactory, fixtureFactory, new NameReservations(), setupManager);

            var testContext = new TestContext()
            {
                Position = TestPosition.At(),
                FixtureContext = fixtureContext,
                Name = new TestName
                {
                    FullName = type.Namespace + "." + type.Name,
                    Shortname = type.Name,
                    MultilineName = type.Namespace + "." + type.Name
                }
            };

            var explicitReason = ExplicitAttributeReader.GetFor(type);

            var result = BuildSuiteForTextContext(fixtureContext, testContext, fixtureContext.GetSpecificationRootAction(), true, explicitReason);

            nativeTestFactory.SetRoot(result);
        }
 public ValidatingNativeTestFactory(INativeTestFactory factory)
 {
     _factory = factory;
 }
 public NJasmineTestSuite(INativeTestFactory nativeTestFactory, TestPosition position, GlobalSetupManager globalSetup)
 {
     _nativeTestFactory = nativeTestFactory;
     _position = position;
     _globalSetup = globalSetup;
 }
 public ValidatingNativeTestFactory(INativeTestFactory factory)
 {
     _factory = factory;
 }