Skip to content

Instantly share code, notes, and snippets.

@vkhorikov
Created January 21, 2016 02:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vkhorikov/e52e7366a8b3eac98c5b to your computer and use it in GitHub Desktop.
Save vkhorikov/e52e7366a8b3eac98c5b to your computer and use it in GitHub Desktop.
public class UserBuilder
{
private readonly string _firstName;
private readonly string _lastName;
public UserBuilder()
: this(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())
{
}
private UserBuilder(string firstName, string lastName)
{
_lastName = lastName;
_firstName = firstName;
}
public UserBuilder WithFirstName(string firstName)
{
return new UserBuilder(firstName, _lastName);
}
public UserBuilder WithLastName(string lastName)
{
return new UserBuilder(_firstName, lastName);
}
public User Build()
{
return new User(_firstName, _lastName);
}
}
[Fact]
public void Some_test()
{
// Arrange
User user = new UserBuilder()
.WithFirstName("Some first name")
.Build();
// Act
// Assert
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment