Mocking Guid.NewGuid ()

Załóżmy, że mam następujący obiekt:

public class User
{
    public int Id { get; set; }
    public string Username { get; set; }
    public Guid UserGuid { get; set; }
    public Guid ConfirmationGuid { get; set; }
}

I następująca metoda interfejsu:

void CreateUser(string username);

Część implementacji powinna utworzyć dwa nowe identyfikatory GUID: jeden dlaUserGuid, a drugi dlaConfirmationGuid. Powinny to zrobić, ustawiając wartości naGuid.NewGuid().

Mam już abstrakcję Guid.NewGuid () za pomocą interfejsu:

public interface IGuidService
{
    Guid NewGuid();
}

Mogę więc łatwo to wykpić, gdy potrzebny jest tylko jeden nowy GUID. Ale nie jestem pewien, jak wyszydzić dwa różne wywołania tej samej metody, z jednej metody, tak aby zwracały różne wartości.

questionAnswers(2)

yourAnswerToTheQuestion