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.