public void Should_Init_Handler() { IUserJoinsServerHandler handler = Substitute.For <IUserJoinsServerHandler>(); _client.Register(handler); handler.Received(1).Init(_client, Arg.Is <DataStoreLockDecorator>(decoratedDataStore => decoratedDataStore.DataStore == _dataStore)); }
/// <summary> /// Registers a handler to handle when a new user joins the server for the first time. /// </summary> /// <param name="userJoinsServerHandler"></param> public void Register(IUserJoinsServerHandler userJoinsServerHandler) { if (userJoinsServerHandler == null) { throw new ArgumentNullException(nameof(userJoinsServerHandler)); } userJoinsServerHandler.Init(this, _decoratedDataStore); _userJoinsServerHandlers.Add(userJoinsServerHandler); }
public void Setup() { _parser = Substitute.For <ICommandParser>(); _discordClient = Substitute.For <IDiscordClient>(); _discloseClient = new DiscloseClient(_discordClient, _parser); _discloseClient.Init(new DiscloseOptions()); _user = Substitute.For <IServerUser>(); _server = Substitute.For <IServer>(); _user.Id.Returns((ulong)1); _server.Id.Returns((ulong)2); _handler1 = Substitute.For <IUserJoinsServerHandler>(); _handler2 = Substitute.For <IUserJoinsServerHandler>(); _discloseClient.Register(_handler1); _discloseClient.Register(_handler2); _discordClient.OnServerAvailable += Raise.EventWith <ServerEventArgs>(new object(), new ServerEventArgs(_server)); }