Beispiel #1
0
        public void GivenMessageWindow_WhenMultipleMessagesAdded_ThenThirdColumnOnFirstRowIsSelected()
        {
            // Given
            using (var form = new Form())
                using (MessageWindow messageWindow = ShowMessageWindow(null))
                {
                    form.Controls.Add(messageWindow);
                    form.Show();

                    var          dataGridView      = (DataGridView) new ControlTester("messagesDataGridView").TheObject;
                    const string selectedCellValue = "DetailedInfoMessage";

                    // Precondition
                    Assert.IsNull(dataGridView.CurrentCell);

                    // When
                    messageWindow.AddMessage(Level.Warn, new DateTime(), "DetailedWarnMessage");
                    messageWindow.AddMessage(Level.Error, new DateTime(), "DetailedErrorMessage");
                    messageWindow.AddMessage(Level.Info, new DateTime(), selectedCellValue);
                    messageWindow.Refresh();

                    // Then
                    Assert.IsNotNull(dataGridView.CurrentCell);

                    DataGridViewCell selectedCell = dataGridView.Rows[0].Cells[2];
                    Assert.AreSame(selectedCell, dataGridView.CurrentCell);
                    Assert.AreEqual(selectedCellValue, dataGridView.CurrentCell.Value);
                }
        }
Beispiel #2
0
 private static void AddMessages(MessageWindow messageWindow)
 {
     messageWindow.AddMessage(Level.Info, new DateTime(), "Info message");
     messageWindow.AddMessage(Level.Warn, new DateTime(), "Warn message");
     messageWindow.AddMessage(Level.Error, new DateTime(), "Error message");
     messageWindow.Refresh();
 }
    // Update is called once per frame
    void Update()
    {
        //Only count down timers when we're not moused over the console window
        if (!GUIUtils.MouseOverRect(consoleRect))
        {
            consoleWindow.pauseAutoScroll = false;
            consoleWindow.CountDownTimers();
        }
        else
        {
            consoleWindow.pauseAutoScroll = true;
        }


        //Mock up some triggers or events happening in game that would display messages
        if (Input.GetKeyDown(KeyCode.Space))
        {
            consoleWindow.AddMessage(30, GUIUtils.MakeRandomString(UnityEngine.Random.Range(3, 15)));
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            Vector3 mousePosition = Input.mousePosition;
            mousePosition.z = 15;             //depth of objects into scene
            consoleWindow.AddMessage(
                new MessageWindow.LocationMessageItem(30,
                                                      "Location event!",
                                                      Camera.main.ScreenToWorldPoint(mousePosition),
                                                      OnLocationClicked));
        }
    }
Beispiel #4
0
 void SystemMessage(string message, NetworkPlayer player)
 {
     if (usersByID.ContainsKey(player))
     {
         message = usersByID[player] + ": " + message;
         messageWindow.AddMessage(messageDisplayTime, message);
     }
     else
     {
         //We don't know that user? Why not? Get the user list again, maybe we'll know for next time.
         networkView.RPC("Server_SendCurrentUsers", RPCMode.Server, Network.player);
     }
 }
Beispiel #5
0
        public void GivenMessageWindowWithRowSelected_WhenCtrlCPressed_ThenCopiesContentToClipboard()
        {
            // Given
            using (var form = new Form())
                using (new ClipboardConfig())
                    using (MessageWindow messageWindow = ShowMessageWindow(null))
                    {
                        form.Controls.Add(messageWindow);
                        form.Show();

                        messageWindow.AddMessage(Level.Warn, new DateTime(), "message");
                        messageWindow.Refresh();

                        var dataGridViewControl = new ControlTester("messagesDataGridView");
                        var dataGridView        = (DataGridView)dataGridViewControl.TheObject;
                        dataGridView.Rows[0].Selected = true;

                        const Keys keyData = Keys.Control | Keys.C;

                        // When
                        dataGridViewControl.FireEvent("KeyDown", new KeyEventArgs(keyData));

                        // Then
                        IDataObject actualDataObject = ClipboardProvider.Clipboard.GetDataObject();
                        Assert.IsTrue(actualDataObject != null && actualDataObject.GetDataPresent(DataFormats.Text));
                        var actualContent = (string)actualDataObject.GetData(DataFormats.Text);
                        Assert.AreEqual("WARN\tmessage\t00:00:00", actualContent);
                    }
        }
Beispiel #6
0
        public void GivenMessageWindowWithRowSelected_WhenClickButtonCopy_ThenCopiesContentToClipboard()
        {
            // Given
            using (var form = new Form())
                using (new ClipboardConfig())
                    using (MessageWindow messageWindow = ShowMessageWindow(null))
                    {
                        form.Controls.Add(messageWindow);
                        form.Show();

                        messageWindow.AddMessage(Level.Warn, new DateTime(), "message");
                        messageWindow.Refresh();

                        var dataGridView = (DataGridView) new ControlTester("messagesDataGridView").TheObject;
                        dataGridView.Rows[0].Selected = true;

                        // When
                        var button = new ToolStripButtonTester("buttonCopy");
                        button.Click();

                        // Then
                        IDataObject actualDataObject = ClipboardProvider.Clipboard.GetDataObject();
                        Assert.IsTrue(actualDataObject != null && actualDataObject.GetDataPresent(DataFormats.Text));
                        var actualContent = (string)actualDataObject.GetData(DataFormats.Text);
                        Assert.AreEqual("WARN\tmessage\t00:00:00", actualContent);
                    }
        }
Beispiel #7
0
        public void AddMessage_LevelIsNull_ThrowsArgumentNullException()
        {
            // Setup
            using (MessageWindow messageWindow = ShowMessageWindow(null))
            {
                // Call
                void Call() => messageWindow.AddMessage(null, new DateTime(), "Should throw exception");

                // Assert
                string paramName = Assert.Throws <ArgumentNullException>(Call).ParamName;
                Assert.AreEqual("level", paramName);
            }
        }
    // Use this for initialization
    void Start()
    {
        consolePosition.y = Screen.height - consoleSize.y;

        consoleRect = new Rect(consolePosition.x, consolePosition.y, consoleSize.x, consoleSize.y);
        consoleWindow = new MessageWindow(consoleSize, consoleSkin);

        consoleWindow.AddMessage(
            new MessageWindow.StringMessageItem(20,
                                 "This is an extra long message. This will show the messgaes will" +
                                 " simply wrap around and the message below will be placed right after," +
                                 " despite the wrapping"));

        consoleWindow.AddMessage(
            new MessageWindow.StringMessageItem(20,
                                 "We can also force a line break with \\n" +
                                 " anywhere we \n want \n the \n breaks to be."));

        consoleWindow.AddMessage(
            new MessageWindow.StringMessageItem(20,
                                            "Press Space to add more messages!"));
    }
    // Use this for initialization
    void Start()
    {
        consolePosition.y = Screen.height - consoleSize.y;

        consoleRect   = new Rect(consolePosition.x, consolePosition.y, consoleSize.x, consoleSize.y);
        consoleWindow = new MessageWindow(consoleSize, consoleSkin);

        consoleWindow.AddMessage(
            new MessageWindow.StringMessageItem(20,
                                                "This is an extra long message. This will show the messgaes will" +
                                                " simply wrap around and the message below will be placed right after," +
                                                " despite the wrapping"));

        consoleWindow.AddMessage(
            new MessageWindow.StringMessageItem(20,
                                                "We can also force a line break with \\n" +
                                                " anywhere we \n want \n the \n breaks to be."));

        consoleWindow.AddMessage(
            new MessageWindow.StringMessageItem(20,
                                                "Press Space to add more messages!"));
    }
Beispiel #10
0
        public void ShowDetailsButton_MessageSelectedOnDoubleClick_ShowMessageWindowDialogWithDetails()
        {
            // Setup
            var mocks        = new MockRepository();
            var dialogParent = mocks.Stub <IWin32Window>();

            mocks.ReplayAll();
            const string detailedMessage = "TestDetailedMessage";

            using (var form = new Form())
                using (MessageWindow messageWindow = ShowMessageWindow(dialogParent))
                {
                    form.Controls.Add(messageWindow);
                    form.Show();

                    string dialogTitle = null;
                    string dialogText  = null;

                    DialogBoxHandler = (name, wnd) =>
                    {
                        var dialogTester = new FormTester(name);
                        dialogTitle = ((Form)dialogTester.TheObject).Text;
                        var testBoxTester = new TextBoxTester("textBox");
                        dialogText = testBoxTester.Text;
                        dialogTester.Close();
                    };

                    var gridView = new ControlTester("messagesDataGridView");
                    messageWindow.AddMessage(Level.Warn, new DateTime(), detailedMessage);
                    messageWindow.Refresh();

                    // Call
                    gridView.FireEvent("CellMouseDoubleClick", new DataGridViewCellMouseEventArgs(
                                           0, 0, 0, 0,
                                           new MouseEventArgs(MouseButtons.Left, 2, 0, 0, 0)));

                    // Assert
                    Assert.AreEqual("Berichtdetails", dialogTitle);
                    Assert.AreEqual(detailedMessage, dialogText);
                }

            mocks.VerifyAll();
        }
Beispiel #11
0
        public void ShowDetailsButton_MessageSelectedOnClick_ShowMessageWindowDialogWithDetails()
        {
            // Setup
            var mocks        = new MockRepository();
            var dialogParent = mocks.Stub <IWin32Window>();

            mocks.ReplayAll();

            const string detailedMessage = "TestDetailedMessage";

            using (var form = new Form())
                using (MessageWindow messageWindow = ShowMessageWindow(dialogParent))
                {
                    form.Controls.Add(messageWindow);
                    form.Show();

                    string dialogTitle = null;
                    string dialogText  = null;

                    DialogBoxHandler = (name, wnd) =>
                    {
                        var dialogTester = new FormTester(name);
                        dialogTitle = ((Form)dialogTester.TheObject).Text;
                        var testBoxTester = new TextBoxTester("textBox");
                        dialogText = testBoxTester.Text;
                        dialogTester.Close();
                    };
                    messageWindow.AddMessage(Level.Warn, new DateTime(), detailedMessage);
                    messageWindow.Refresh();
                    var buttonTester = new ToolStripButtonTester("buttonShowDetails");

                    // Call
                    buttonTester.Click();

                    // Assert
                    Assert.AreEqual("Berichtdetails", dialogTitle);
                    Assert.AreEqual(detailedMessage, dialogText);
                }

            mocks.VerifyAll();
        }
Beispiel #12
0
        public void ButtonClearAll_Click_RemovesAllMessages()
        {
            // Setup
            using (var form = new Form())
                using (MessageWindow messageWindow = ShowMessageWindow(null))
                {
                    form.Controls.Add(messageWindow);
                    form.Show();

                    messageWindow.AddMessage(Level.Warn, new DateTime(), "message");
                    messageWindow.Refresh();
                    var dataGridView = (DataGridView) new ControlTester("messagesDataGridView").TheObject;

                    var button = new ToolStripButtonTester("buttonClearAll");

                    // Call
                    button.Click();

                    // Assert
                    Assert.AreEqual(0, dataGridView.Rows.Count);
                }
        }
Beispiel #13
0
        public void ShowDetailsButton_MessageSelectedOnDoubleClickOtherThanLeft_DoNotShowMessageWindowDialog(MouseButtons mouseButton)
        {
            // Setup
            using (var form = new Form())
                using (MessageWindow messageWindow = ShowMessageWindow(null))
                {
                    form.Controls.Add(messageWindow);
                    form.Show();

                    var gridView = new ControlTester("messagesDataGridView");
                    messageWindow.AddMessage(Level.Warn, new DateTime(), "TestDetailedMessage");
                    messageWindow.Refresh();

                    // Call
                    gridView.FireEvent("CellMouseDoubleClick", new DataGridViewCellMouseEventArgs(
                                           0, 0, 0, 0,
                                           new MouseEventArgs(mouseButton, 2, 0, 0, 0)));

                    // Assert
                    // No dialog window shown
                }
        }
Beispiel #14
0
        public void ShowDetailsButton_DoubleClickOnColumnHeader_DoNotShowMessageWindowDialog()
        {
            // Setup
            using (var form = new Form())
                using (MessageWindow messageWindow = ShowMessageWindow(null))
                {
                    form.Controls.Add(messageWindow);
                    form.Show();

                    var gridView = new ControlTester("messagesDataGridView");
                    messageWindow.AddMessage(Level.Warn, new DateTime(), "TestDetailedMessage");
                    messageWindow.Refresh();
                    int columnHeaderRowIndex = ((DataGridView)gridView.TheObject).Columns[0].HeaderCell.RowIndex;

                    // Call
                    gridView.FireEvent("CellMouseDoubleClick", new DataGridViewCellMouseEventArgs(
                                           0, columnHeaderRowIndex, 0, 0,
                                           new MouseEventArgs(MouseButtons.Left, 2, 0, 0, 0)));

                    // Assert
                    // No dialog window shown
                }
        }
    public override void ParseCommand(string command)
    {
        string[] args      = command.Split(' ');
        string   cmd       = args[0].ToLower();
        string   arguments = "";

        if (args.Length > 1)
        {
            arguments = args[1];
            for (int i = 2; i < args.Length; i++)
            {
                arguments += " " + args[i];
            }
        }
        bool valid = false;

        if (cmd.StartsWith("help"))
        {
            foreach (MessageDisplay msg in commandLog.messages)
            {
                msg.life_time = 0;
            }
            string help_txt = "<#0f0><b><i>cls</i></b></color>		clears command log\n";
            help_txt += "<#0f0><b><i>help</i></b></color>		shows this list\n";
            help_txt += "<#0f0><b><i>ping</i></b></color>		pong\n";
            help_txt += "<#00f><b><i>reload</i></b></color>	reloads current scene\n";
            help_txt += "<#00f><b><i>exit</i></b></color>		shut down game";
            commandLog.AddMessage(help_txt, "<#0f0><b><i>help</i></b></color> " + arguments);

            //commandLog.AddMessage(help_txt, "<#0000ff><b><i>" + cmd + "</i></b></color> " + arguments, helpTemplate);
            valid = true;
        }
        if (cmd.StartsWith("cls"))
        {
            foreach (MessageDisplay msg in commandLog.messages)
            {
                msg.life_time = 0;
            }
            valid = true;
        }
        if (cmd.StartsWith("quit"))
        {
            commandLog.AddMessage("Exiting game", "<#0000ff><b><i>" + cmd + "</i></b></color> " + arguments);
            StartCoroutine("Quit");
            valid = true;
        }
        if (cmd.StartsWith("reload"))
        {
            commandLog.AddMessage("Reloading current scene", "<#0000ff><b><i>" + cmd + "</i></b></color> " + arguments);
            StartCoroutine("Reload");
            valid = true;
        }
        if (cmd.StartsWith("ping"))
        {
            commandLog.AddMessage("pong", "<#00ff00><b><i>" + cmd + "</i></b></color> " + arguments);
            Reload();
            valid = true;
        }
        if (!valid)
        {
            commandLog.AddMessage("<#ff0000><i>Error</i></color> : Unkown Command. type 'help' for list of commands.", "<#ff0000><i>" + cmd + "</i></color> " + arguments);
        }
    }