示例#1
0
        public void Command_IsNummeric_Test()
        {
            // Arrange
            var command = new NumericCommand(0, "Test Command 0", () => { });

            // Act
            var isNumeric = command.IsNumericCommand();

            // Assert
            Assert.True(isNumeric);
        }
示例#2
0
        public void CommandsContainer_CanRegister_Test()
        {
            // Arrange
            var container = new CommandsContainer();
            var command   = new NumericCommand(1, "Test Command 1", () => { });

            // Act
            var canRegister = container.CanRegister(command);

            // Assert
            Assert.True(canRegister);
        }
示例#3
0
        public void Initialize_NumericCommand_Test()
        {
            // Arrange
            var commandId   = 1;
            var description = "TestCommand One";

            // Act
            var command = new NumericCommand(commandId, description, () => { });

            // Assert
            Assert.NotNull(command);
        }
        public void Compare_EqualCommands_DifferInDescription_Test()
        {
            // Arrange
            var command1 = new NumericCommand(2, "One", () => { });
            var command2 = new NumericCommand(2, "_", () => { });

            // Act
            var comparer = new CommandComparer();

            // Assert
            var result = comparer.Equals(command1, command2);

            Assert.True(result);
        }
        public void Compare_NonEqualCommands_DifferInId_Test()
        {
            // Arrange
            var command1 = new NumericCommand(1, "One", () => { });
            var command2 = new NumericCommand(0, "One", () => { });

            // Act
            var comparer = new CommandComparer();

            // Assert
            var result = comparer.Equals(command1, command2);

            Assert.False(result);
        }
示例#6
0
文件: Line.cs 项目: xbayrockx/OpenRA
 public NumericLine(Line line, int numeric)
     : base(line)
 {
     if (!IrcUtils.IsChannel(Target))
     {
         var numericParts = line.RawStringParts.Skip(1).TakeWhile(p => !p.StartsWith(":"));
         AltTarget = numericParts.LastOrDefault(IrcUtils.IsChannel);
         if (AltTarget == null)
         {
             AltTarget = numericParts.LastOrDefault();
         }
     }
     Numeric = (NumericCommand)numeric;
 }
示例#7
0
        public void CommandsContainer_AddNumericCommand_Test()
        {
            // Arrange
            var container = new CommandsContainer();
            var command   = new NumericCommand(1, "TestCommand One", () => { });

            // Act
            container.Add(command);

            // Assert
            Assert.Contains(command, container.AllCommands);
            Assert.DoesNotContain(command as Command, container.StringCommands);
            Assert.Contains(command, container.NumericCommands);
            Assert.DoesNotContain(command as Command, container.SystemCommands);
        }
        protected void ExecuteCommand(int commandNumber)
        {
            NumericCommand needle = commands.FirstOrDefault(command => command.Subject == commandNumber);

            if (needle != default)
            {
                needle.Handle();
            }

            else
            {
                Refresh();

                Console.WriteLine(LocalizationService.GetStringWithParam("CommandNotFound", commandNumber));

                ExecuteCommand(GetInput());
            }
        }
示例#9
0
		public NumericLine(Line line, int numeric)
			: base(line)
		{
			if (!IrcUtils.IsChannel(Target))
			{
				var numericParts = line.RawStringParts.Skip(1).TakeWhile(p => !p.StartsWith(":"));
				AltTarget = numericParts.LastOrDefault(IrcUtils.IsChannel);
				if (AltTarget == null)
					AltTarget = numericParts.LastOrDefault();
			}
			Numeric = (NumericCommand)numeric;
		}