public virtual void ShouldPassOptionsToFactoryMethodAndReturnExpectedSession() { var actualSession = new NullDataSession(); var actualOptions = new { }; var called = false; var builder = new DataSessionBuilder<NullDataSession>( options => { options.Should().Be(actualOptions); called = true; return actualSession; }); builder.BuildSession(actualOptions).Should().Be.SameInstanceAs(actualSession); called.Should().Be.True(); }
public virtual void FactoryMethodShouldBeExecutedInsideConstructionScope() { var called = false; var builder = new DataSessionBuilder<NullDataSession>( options => { InternalEnvironment.IsInsideConstructionScope.Should().Be.True(); called = true; return new NullDataSession(); }); InternalEnvironment.IsInsideConstructionScope.Should().Be.False(); builder.BuildSession(); InternalEnvironment.IsInsideConstructionScope.Should().Be.False(); called.Should().Be.True(); }
public virtual void ShouldSetNameCorrectly() { var builder = new DataSessionBuilder(options => new NullDataSession(), "Test"); builder.BuildSession(); builder.Name.Should().Be("Test"); builder = new DataSessionBuilder(() => new NullDataSession(), "Test"); builder.BuildSession(); builder.Name.Should().Be("Test"); builder = new DataSessionBuilder<NullDataSession>(() => new NullDataSession(), "Test"); builder.BuildSession(); builder.Name.Should().Be("Test"); builder = new DataSessionBuilder<NullDataSession>(options => new NullDataSession()); builder.BuildSession(); builder.Name.Should().Be(typeof(NullDataSession).FullName); builder = new DataSessionBuilder<NullDataSession>(() => new NullDataSession()); builder.BuildSession(); builder.Name.Should().Be(typeof(NullDataSession).FullName); }