public void Immutable_When_CreatingFromBuilder_WithDefaultValue() { var entity = new MyImmutableEntity.Builder().ToImmutable(); entity.Should().NotBeNull(); entity.MyField1.Should().Be(4); }
public void Immutable_When_Using_OptionNone() { MyImmutableEntity.Builder builder = MyImmutableEntity.None; Option <MyImmutableEntity> option = builder; option.MatchNone().Should().BeTrue(); }
public void Immutable_When_CreatingFromBuilder_And_ImplicitlyCasted() { MyImmutableEntity entity = new MyImmutableEntity.Builder { MyField1 = 42 }; entity.Should().NotBeNull(); entity.MyField1.Should().Be(42); }
public void Immutable_When_CreatingABuilderFromExisting_And_NoChanges_Then_ReferenceIsSame() { MyImmutableEntity original = new MyImmutableEntity.Builder { MyField1 = 42 }; var builder = new MyImmutableEntity.Builder(original); var newInstance = builder.ToImmutable(); newInstance.Should().BeSameAs(original); }
public void Immutable_When_CreatingABuilderFromExisting() { MyImmutableEntity original = new MyImmutableEntity.Builder { MyField1 = 42 }; MyImmutableEntity newInstance = original .WithMyField1(43); original.MyField1.Should().Be(42); newInstance.MyField1.Should().Be(43); }
public void Immutable_When_CreatingFromBuilder_TheResultIsCached() { var builder = new MyImmutableEntity.Builder { MyField1 = 42 }; var r1 = builder.ToImmutable(); var r2 = builder.ToImmutable(); r1.Should().NotBeNull(); r1.MyField1.Should().Be(42); r1.Should().BeSameAs(r2); }