public static T IncludeFixture <T>(GivenWhenThenFixture specBuilder) where T : new()
        {
            T fixtureDuringDiscovery = default(T);
            T fixture = default(T);

            fixture = specBuilder.beforeAll(delegate
            {
                fixtureDuringDiscovery = new T();
                RunMethodsWithAttribute(fixtureDuringDiscovery, NUnitFramework.FixtureSetUpAttribute);
                return(fixtureDuringDiscovery);
            });

            specBuilder.arrange(delegate
            {
                RunMethodsWithAttribute(fixture, NUnitFramework.SetUpAttribute);
                return(fixtureDuringDiscovery);
            });

            specBuilder.afterEach(delegate
            {
                RunMethodsWithAttribute(fixture, NUnitFramework.TearDownAttribute);
            });

            specBuilder.afterAll(delegate
            {
                RunMethodsWithAttribute(fixtureDuringDiscovery, NUnitFramework.FixtureTearDownAttribute);
            });

            return(fixture);
        }