using System.Threading.Tasks;
using ShareeBike.Model.User.Account;
namespace SharedBusinessLogic.Tests.Framework.Model.User.Account
{
public class StoreMock : IStore
{
IAccount m_oAccount;
///
/// Instantiates
/// - a dummy account to simulate a logged in user before end of last session
/// - an empty account to simulate no user logged in before end of last session
///
/// If null no user is logged in.
public StoreMock(IAccount p_oAccount = null)
{
m_oAccount = new ShareeBike.Model.User.Account.Account(p_oAccount ?? new EmptyAccount());
}
public Task Load()
{
return Task.FromResult(new ShareeBike.Model.User.Account.Account(m_oAccount));
}
public IAccount Delete(IAccount p_oAccount)
{
// Set member to empty.
m_oAccount = new EmptyAccount();
// Return empty account.
return new EmptyAccount();
}
public Task Save(IAccount p_oAccount)
{
m_oAccount = new ShareeBike.Model.User.Account.Account(p_oAccount);
return Task.CompletedTask;
}
}
}