public void When_user_is_friend_with_loggedUser_return_user_trip() { // ARRANGE User.User originalLoggedUser = new User.User(); _target.SetLoggerUser(originalLoggedUser); List<Trip.Trip> originaltripList = new List<Trip.Trip>() { new Trip.Trip() }; _mockDaoWrapper.Setup(m => m.FindTripsByUser(It.IsAny<User.User>())) .Returns(originaltripList); //_target.SetTripList(originaltripList); User.User original = new User.User(); original.AddFriend(originalLoggedUser); // ACT List<Trip.Trip> actual = _target.GetTripsByUser(original); // ASSERT Check.That(actual).IsOnlyMadeOf(originaltripList); }
internal Permissions(User.User CurrentUser, Content.Folder CurrentFolder) { _user = CurrentUser; _folder = CurrentFolder; string SystemMessage = string.Empty; Load(); }
public void SetUp() { loggedUser = new User.User(); anyUser = new User.User(); _sessionService = Substitute.For<SessionService>(); tripRepo = Substitute.For<TripRepository>(); }
public void Returns_no_trips() { var tripService = new TripService(this, null); var user = new User.User(); var tripsByUser = tripService.GetTripsByUser(user); Assert.That(tripsByUser, Is.Empty); }
public ModificacionProveedor(String username) { InitializeComponent(); Login login = new Login(); login.UserName = username; this.proveedorSeleccionado = homeUsr.getProveedor(login); this.comboBox1.DataSource = this.homeRol.getRolesParaTipo(this.proveedorSeleccionado.Rol.TipoUsuario); this.fill(); }
public void ShouldReturnFriendsTrips() { var userWithLoggedUserAsFriend = new User.User(); userWithLoggedUserAsFriend.AddFriend(_loggedInUser); var tripService = new TripService(this, this); var trips = tripService.GetTripsByUser(userWithLoggedUserAsFriend); Assert.That(trips.Count, Is.EqualTo(1)); }
public string ExecuteScript(string userId) { string message = null; UserScript specificUser = usersLoggingIn.Where(u => u.user.UserID == userId).SingleOrDefault(); if (specificUser != null && specificUser.lastStep != specificUser.currentStep) { switch (specificUser.currentStep) { case Steps.SPLASH: message = SplashScreen(); usersLoggingIn.Where(u => u.user.UserID == userId).SingleOrDefault().currentStep = Steps.NAME; usersLoggingIn.Where(u => u.user.UserID == userId).SingleOrDefault().lastStep = Steps.NONE; break; case Steps.NAME: message = AskForFirstName(); usersLoggingIn.Where(u => u.user.UserID == userId).SingleOrDefault().currentStep = Steps.AWAITINGRESPONSE; usersLoggingIn.Where(u => u.user.UserID == userId).SingleOrDefault().lastStep = Steps.NAME; break; case Steps.PASSWORD: message = AskForPassword(); usersLoggingIn.Where(u => u.user.UserID == userId).SingleOrDefault().currentStep = Steps.AWAITINGRESPONSE; usersLoggingIn.Where(u => u.user.UserID == userId).SingleOrDefault().lastStep = Steps.PASSWORD; break; case Steps.SUCCEEDED: //let's see if they are connecting back to a limbo character first and set things right User.User user = new User.User(); user = MySockets.Server.GetAUserPlusState(specificUser.user.UserID, User.User.UserState.LIMBO); if (user != null) { MySockets.Server.UpdateUserSocket(specificUser.user.UserID); specificUser.user = user; } else { specificUser.user.Player.Load(specificUser.user.Player.ID); } message = "Welcome " + specificUser.user.Player.FirstName + " " + specificUser.user.Player.LastName + "!"; specificUser.user.CurrentState = User.User.UserState.TALKING; specificUser.user.InBuffer = "look\r\n"; usersLoggingIn.Remove(specificUser); break; case Steps.AWAITINGRESPONSE: default: break; } } else { if (specificUser != null && specificUser.currentStep == Steps.NAME) { message = "No character with that name exists!\n\rDo you want to create a new character? (Y/N)"; specificUser.currentStep = Steps.AWAITINGRESPONSE; specificUser.lastStep = Steps.CREATECHAR; } else if (specificUser != null && specificUser.currentStep == Steps.PASSWORD) { message = "Incorrect Password!"; specificUser.lastStep = Steps.NONE; } } return message; }
public ModificacionCliente(String username) { InitializeComponent(); Login l = new Login(); l.UserName = username; this.clienteSeleccionado = homeUsr.getUsuario(l); homeUsr.setInformacionAlUsuario(this.clienteSeleccionado); this.comboBox1.DataSource = this.homeRol.getRolesParaTipo(this.clienteSeleccionado.Rol.TipoUsuario); this.fill(); }
public void WhenUserHasOneFriendButNoTrips() { var loggedInUser = new UserQueJeTest(); var friend = new UserQueJeTest(); friend.AddFriend(loggedInUser); TripService ts = new TripService(new DummyTripWrapper(), new DummyUserSessionWrapper(loggedInUser)); var result = ts.GetTripsByUser(friend); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count); }
public void Returns_no_trips() { var tripService = new TripService(this, this); var user = new User.User(); user.AddFriend(new User.User()); user.AddFriend(_loggedInUser); var tripsByUser = tripService.GetTripsByUser(user); Assert.That(tripsByUser, Is.EqualTo(_expectedTrips)); }
public void When_logged_in_user_is_a_friend_then_returns_trips_from_service() { var loggedInUser = new User.User(); var tripsFromService = new List<Trip.Trip>{new Trip.Trip()}; var tripService = new TripService(new MockUserSession(loggedInUser), new MockTripDAOWrapper(tripsFromService)); var userToQuery = new User.User(); userToQuery.AddFriend(loggedInUser); var actual = tripService.GetTripsByUser(userToQuery); Assert.That(actual, Is.EqualTo(tripsFromService)); }
public void When_user_has_no_friend_return_empty_list() { // ARRANGE _target.SetLoggerUser(new User.User()); User.User original = new User.User(); // ACT List<Trip.Trip> actual = _target.GetTripsByUser(original); // ASSERT Check.That(actual).IsEmpty(); }
public virtual bool OnLeave(User.User user) { UpdateCounter("rooms_leave", 1); return(true); }
public List<TripQueJeTest> FindTripsByUser(UserQueJeTest user) { return user.Trips(); }
public void Init() { user = new User.User(); }
public static List <Trip> FindTripsByUser(User.User user) { throw new DependendClassCallDuringUnitTestException( "TripDAO should not be invoked on an unit test."); }
private void ConfirmRestart(User.User user, RecivedMessage message) { HandleButtonAlways(user, message); }
public static UserSubscriptionInfo FindOrCreate(User.User user) => Find(user) ?? Find(Create(user));
public VariableContainer GetRoomVariables(User.User user) { return(user.VariableManager.GetRoomVariables(Identifier)); }
public void SendMessage(User.User user, string message, string intent) { SendMessage(user, message, null, intent); }
public virtual User.User RegisterUser(string invitationIdentifier, string userName, string password, Enablement enablement, Person person) { AssertionConcern.True(this.Active, "Tenant is not active."); User.User user = null; if(this.IsRegistrationAvailableThrough(invitationIdentifier)) { person.TenantId = this.TenantId; user = new User.User(this.TenantId, userName, password, enablement, person); } return user; }
public abstract void OnMessage(User.User user, ReceivedMessage message);
public void SendMessage(User.User user, string message, string[][] buttons) { SendMessage(user, message, buttons, null); }
public void SendMessage(User.User user, string message) { SendMessage(user, message, null, null); }
public static IEnumerable <string> GetItems(User.User user) { return(user.ItemManager.Items .Where(i => i.CanUse(user)) .Select(i => $"{i.Item.Name} (x{i.Count})")); }
public void SwitchAndHandle(User.User user, MessageReceived handler, ReceivedMessage message) { SwitchAction(user, handler); handler?.Invoke(user, message); }
public static User.User GetUserAsNPCFromList(List<string> id) { if (id.Count > 0) { User.User result = new User.User(); result.Player = GetAnNPCByID(id[0]); result.CurrentState = User.User.UserState.TALKING; return result; } return null; }
public virtual void OnReturn(User.User user) { UpdateCounter("rooms_leave", -1); user.RoomManager.Leave(); }
public UpdateUser(User.User user) { _user = user; }
public MessageReceived GetCurrentRoute(User.User user) { var route = GetRouteIdx(user); return(route == null ? null : Routes[(int)route]); }
public virtual void OnRemove(User.User user, ItemInfo info, int count) { }
private int?GetRouteIdx(User.User user) { var action = GetRoomVariables(user).Get("action"); return((Serializable.Int)action); }
public override void OnMessage(User.User user, RecivedMessage message) { HandleAction(user, message); }
private static void Go(User.User user, string identificator) { Log("{roomId}", "go", user, identificator); }
public override bool CanUse(User.User user, ItemInfo info) { return(user.RoomManager.GetRoom() is IMonster); }
private static void Reset(User.User user) { Log("", "reset", user); }
IList <Trip> ITripRepository.FindTripsByUser(User.User user) { return(TripDAO.FindTripsByUser(user)); }
private static void Dead(User.User user) { Log("", "dead", user); }
//this shouldn't be a static class eventually. public static void Main(string[] args) { Console.Title = "Novus MUD Server 0.7"; string databasePath; //start the Mongodatabase if the server is running try { databasePath = ParseConfigFile(); } catch (FileNotFoundException) { Console.WriteLine("Settings.cfg file not found in current directory. Server shutting down."); return; } System.Diagnostics.Process.Start(databasePath); Console.WriteLine(">>> MongoDB initialized <<<"); ClientHandling.MessageBuffer messageHandler = new ClientHandling.MessageBuffer("Server"); MySockets.Server server = MySockets.Server.GetServer(); //get script singletons Scripts.Login loginScript = Scripts.Login.GetScript(); Scripts.CreateCharacter CreationScript = Scripts.CreateCharacter.GetScript(); Scripts.LevelUpScript levelUpScript = Scripts.LevelUpScript.GetScript(); Commands.CommandParser.LoadUpCommandDictionary(); Character.NPCUtils npcUtils = Character.NPCUtils.GetInstance(); npcUtils.LoadNPCs(); MudTimer.StartUpTimers(); server.IPAddress = "192.168.1.112"; server.Port = 1301; try { server.StartServer(); Console.WriteLine(">>> Listening at IP: " + server.IPAddress + " <<<"); Console.WriteLine(">>> Port: " + server.Port + " <<<"); StringBuilder sb = new StringBuilder(); double speed = 0.0D; while (true) { if (Console.KeyAvailable) { ConsoleKeyInfo key = Console.ReadKey(); if (key.Key == ConsoleKey.Backspace && sb.Length > 0) { sb.Remove(sb.Length - 1, 1); } else if (key.Key != ConsoleKey.Enter) { sb.Append(key.KeyChar); } if (key.Key == ConsoleKey.Enter) { Console.WriteLine(">>> " + sb.ToString()); if (sb.ToString().Contains("-exit")) { break; } else { server.SendToAllClients(sb.ToString()); } sb.Clear(); } } try { //run NPC AI on separate thread, yes even if no players are playing. ThreadPool.QueueUserWorkItem(delegate { npcUtils.ProcessAIForNPCs(); }); if (MySockets.Server.GetCurrentUserList().Count > 0) { int index = 0; System.Diagnostics.Stopwatch stopWatch = System.Diagnostics.Stopwatch.StartNew(); foreach (User.User user in MySockets.Server.GetCurrentUserList()) { if (user.CurrentState == User.User.UserState.TALKING || user.CurrentState == User.User.UserState.LIMBO) { CommandParser.ParseCommands(user); } else if (user.CurrentState == User.User.UserState.JUST_CONNECTED) { //just connected let's make them login loginScript.AddUserToScript(MySockets.Server.GetCurrentUserList().ElementAt(index)); user.CurrentState = User.User.UserState.LOGGING_IN; } //the player should not receive any messages while in the level up script else if (user.CurrentState == User.User.UserState.LEVEL_UP) { if (user.CurrentState == User.User.UserState.LEVEL_UP) { levelUpScript.AddUserToScript(MySockets.Server.GetCurrentUserList().ElementAt(index)); } string temp = levelUpScript.ExecuteScript(user.UserID); user.MessageHandler(temp); if (user.InBufferReady && user.CurrentState != User.User.UserState.TALKING) { user.CurrentState = levelUpScript.InsertResponse(user.InBuffer, user.UserID); } } else if (user.CurrentState == User.User.UserState.LOGGING_IN) { //they are in the middle of the login process string temp = loginScript.ExecuteScript(user.UserID); if (!string.IsNullOrEmpty(temp)) { if (temp.Contains("Welcome")) temp += "\n\n\r"; user.MessageHandler(temp); } if (user.InBufferReady && user.CurrentState != User.User.UserState.TALKING) { user.CurrentState = loginScript.InsertResponse(user.InBuffer, user.UserID); } if (user.CurrentState == User.User.UserState.CREATING_CHARACTER) { CreationScript.AddUserToScript(MySockets.Server.GetCurrentUserList().ElementAt(index)); } } else if (user.CurrentState == User.User.UserState.CREATING_CHARACTER) { string temp = CreationScript.ExecuteScript(user.UserID); if (!string.IsNullOrEmpty(temp)) { if (temp.Contains("Welcome")) temp += "\n\n\r"; user.MessageHandler(temp); } if (user.InBufferReady && user.CurrentState != User.User.UserState.TALKING) { user.CurrentState = CreationScript.InsertResponse(user.InBuffer, user.UserID); } } //on this method not sure if I want to display one line per each call of this or display everything to the user //until their outbuffer is empty. It works this way as of now. server.SendToAllClients(); index++; stopWatch.Stop(); if ((double)stopWatch.Elapsed.TotalSeconds > speed) { speed = (double)stopWatch.Elapsed.TotalSeconds; Console.WriteLine(String.Format("Slowest: {0}", stopWatch.Elapsed)); } } } } catch (Exception ex) { User.User temp = new User.User(true); temp.UserID = "Internal"; // CommandParser.ReportBug(temp, new List<string>(new string[] { "Bug Internal Error: " + ex.Message + "\n" + ex.StackTrace })); } } Console.WriteLine(">>> Server shutting down <<<"); server.ShutdownServer(); } catch (SocketException se) { Console.WriteLine(se.Message); } catch (Exception ex) { Console.WriteLine("Whoa! : " + ex.Message + "\n\n" + ex.StackTrace); } Console.ReadLine(); }
private static void Received(User.User user, ReceivedMessage message) { Log("id<{id}> '{message}'", "messageReceived", user, message.MessageId, message.Text); }
private static void Sent(User.User user, Tuple <SentMessage, ReceivedMessage> message) { Log("in reply to '{reply}': {message}", "messageSent", user, message.Item2?.MessageId, message.Item1.Text); }
protected virtual List <Trip> GetTripsBy(User.User user) { return(_tripDAO.FindTripsByUser(user)); }
public DummyUserSessionWrapper(UserQueJeTest loggedInUser) { this.loggedInUser = loggedInUser; }
public void Open(User.User user) => State.Open(this, user);
public MockUserSession(User.User loggedUser) { _loggedUser = loggedUser; }
public void Close(User.User user) => State.Close(this, user);
private SaveGame() { _user = User.User.Instance; _gameboard = Gameboard.Instance; }
public UserScript(User.User user) { this.user = user; currentStep = Steps.SPLASH; lastStep = Steps.NONE; }
public ScriptUsers(User.User user) { this.user = user; currentStep = "NONE"; lastStep = "NONE"; }
//protected override List<Trip.Trip> GetTripListByUser(User.User user) //{ // return _tripList; //} internal void SetLoggerUser(User.User user) { _loggerUser = user; }
private User.User nuevoProveedor() { User.User prov = new User.User(); prov.DatosLogin = new Login(); prov.DatosProveedor = new DatosProveedor(); prov.Direccion = new Direccion(); prov.DatosLogin.Habilitado = this.checkBox1.Checked; prov.DatosLogin.UserName = this.proveedorSeleccionado.DatosLogin.UserName; prov.DatosProveedor.Cuit = this.textBox4.Text; prov.DatosProveedor.Mail = this.textBox2.Text; prov.DatosProveedor.NombreContacto = this.textBox12.Text; prov.DatosProveedor.RazonSocial = this.textBox1.Text; prov.DatosProveedor.Rubro = this.textBox13.Text; prov.DatosProveedor.Telefono = this.textBox3.Text; prov.Direccion.Calle = this.textBox6.Text; prov.Direccion.Depto = this.textBox9.Text; prov.Direccion.Localidad = this.textBox10.Text; String campo = ""; try { campo = "piso"; if (!this.textBox8.Text.Equals("")) prov.Direccion.Piso = Convert.ToInt32(this.textBox8.Text); campo = "codigo postal"; prov.Direccion.CodigoPostal = Convert.ToInt32(this.textBox11.Text); } catch (Exception) { String error = "El campo " + campo + " tiene un formato incorrecto."; throw new Exception(error); } return prov; }
private PublicUserResponseMessage CreatePublicUserResponseMessage(User.User u) { return(new PublicUserResponseMessage { user = new PublicUser(u.Id, u.UserName) }); }
private User.User nuevoCliente() { User.User nuevoCliente = new User.User(); nuevoCliente.DatosCliente = new DatosCliente(); nuevoCliente.DatosLogin = new Login(); nuevoCliente.DatosLogin.UserName = this.clienteSeleccionado.DatosLogin.UserName; nuevoCliente.DatosLogin.Habilitado = this.checkBox1.Checked; nuevoCliente.DatosCliente.Nombre = textBox1.Text; nuevoCliente.DatosCliente.Apellido = this.textBox2.Text; nuevoCliente.DatosCliente.Dni = textBox3.Text; nuevoCliente.DatosCliente.Mail = this.textBox4.Text; nuevoCliente.DatosCliente.Telefono = textBox5.Text; nuevoCliente.DatosCliente.FechaNac = this.getFechaToAAAAMMDD(); nuevoCliente.Direccion = new Direccion(); nuevoCliente.Direccion.Calle = this.textBox6.Text; nuevoCliente.Direccion.Depto = this.textBox9.Text; nuevoCliente.Direccion.Localidad = this.textBox10.Text; String campo = ""; try { campo = "piso"; if (!this.textBox8.Text.Equals("")) nuevoCliente.Direccion.Piso = Convert.ToInt32(this.textBox8.Text); campo = "codigo postal"; nuevoCliente.Direccion.CodigoPostal = Convert.ToInt32(this.textBox11.Text); } catch (Exception) { String error = "El campo " + campo + " tiene un formato incorrecto."; throw new Exception(error); } return nuevoCliente; }
public static UserSubscriptionInfo Find(User.User user) => Connection().Query <UserSubscriptionInfo>( "SELECT * FROM user_subscription_info WHERE user_id = @user_id LIMIT 1", new { user_id = user.id } ).FirstOrDefault();
public void Reopen(User.User user) => State.Reopen(this, user);
public object GetTarget(string type) { User.User user = new User.User(); Character.Iactor character = CharacterFactory.Factory.CreateCharacter(CharacterEnums.CharacterType.PLAYER); user.Player = character; object o = null; if (string.Equals(type, "Character", StringComparison.CurrentCultureIgnoreCase)) { o = character; } else { o = user; } return o; }
public bool Loot(User.User looter, List <string> commands, bool byPassCheck = false) { bool looted = false; if (IsDead()) { List <Items.Iitem> result = new List <Items.Iitem>(); StringBuilder sb = new StringBuilder(); if (!byPassCheck) { //Let's see if who's looting was the killer otherwise we check the time of death //also check if looter is part of a group if so then the group will provide the loot logic. if (!string.Equals(looter.UserID, ((Iactor)this).KillerID, StringComparison.InvariantCultureIgnoreCase)) { if (!CanLoot(looter.UserID)) { //looter not the killer not in group and time to loot has not expired looter.MessageHandler("You did not deal the killing blow and can not loot this corpse at this time."); return(false); } } //let's check if looter is in a group if (!string.IsNullOrEmpty(looter.GroupName)) { //looter is part of a group, let's see if the group loot rule is free for all first Groups.Group group = Groups.Groups.GetInstance().GetGroup(looter.GroupName); if (group.GroupRuleForLooting != Groups.GroupLootRule.First_to_loot) { group.Loot(looter, commands, this); return(false); } } } if (commands.Contains("all")) { sb.AppendLine("You loot the following items from " + FirstName + ":"); Inventory.GetInventoryAsItemList().ForEach(i => { sb.AppendLine(i.Name); looter.Player.Inventory.AddItemToInventory(Inventory.RemoveInventoryItem(i, this.Equipment)); }); looted = true; } else if (commands.Count > 2) //the big one, should allow to loot individual item from the inventory { string itemName = Items.Items.ParseItemName(commands); int index = 1; int position = 1; string[] positionString = commands[0].Split('.'); //we are separating based on using the decimal operator after the name of the npc/item if (positionString.Count() > 1) { int.TryParse(positionString[positionString.Count() - 1], out position); } Inventory.GetInventoryAsItemList().ForEach(i => { if (string.Equals(i.Name, itemName, StringComparison.InvariantCultureIgnoreCase) && index == position) { looter.Player.Inventory.AddItemToInventory(Inventory.RemoveInventoryItem(i, this.Equipment)); sb.AppendLine("You loot " + i.Name + " from " + FirstName); Rooms.Room.GetRoom(looter.Player.Location).InformPlayersInRoom(string.Format("{0} loots {1} from {3}'s lifeless body.", looter.Player.FirstName, i.Name, FirstName), new List <string>() { ID }); index = -1; //we found it and don't need this to match anymore looted = true; } else { index++; } }); } else { sb.AppendLine(FirstName + " was carrying: "); Inventory.GetInventoryAsItemList().ForEach(i => sb.AppendLine(i.Name)); } looter.MessageHandler(sb.ToString()); } return(looted); }
public TempLvlChar(User.User player) { user = player; currentStep = ScriptSteps.None; lastStep = ScriptSteps.Step1; maxOptions = player.Player.GetAttributes().Count; }