public void RecordedAction_Constructor()
        {
            RecordedAction recAction = new RecordedAction();

            //NUnit.Framework.Assert.NotNull(recAction.UserData);
            Assert.IsNotNull(recAction.UserData);
        }
        private IRecordedCodeSequence generateActionItem(
            IRecordedCodeSequence codeSequence,
            IWebElement webElement,
            RecordedAction recordingItem)
        {
            IRecordedCodeSequence result =
                Recorder.RecordActionItem(
                    (new TranscriptCmdletBase()),
                    codeSequence,
                    webElement,
                    recordingItem);

            return(result);
        }
示例#3
0
        public void CheckCodeSequenceNovelty_CodeSequence_Duplicated()
        {
            bool result                 = false;
            bool expectedResult         = false;
            TranscriptCmdletBase cmdlet = new TranscriptCmdletBase();

            Recorder.RecordingCollection =
                new System.Collections.Generic.List <IRecordedCodeSequence>();
            IRecordedCodeSequence codeSequence = new RecordedCodeSequence();
            RecordedWebElement    webElement   = new RecordedWebElement();

            webElement.TagName = "button";
            codeSequence.Items.Add(webElement);
            RecordedAction action = new RecordedAction();

            action.UserData.Add("code", Recorder.CodeGenElementClick);
            codeSequence.Items.Add(action);

            Recorder.RecordingCollection.Add(codeSequence);

            // a new code sequence
            codeSequence       = new RecordedCodeSequence();
            webElement         = new RecordedWebElement();
            webElement.TagName = "button";
            codeSequence.Items.Add(webElement);
            action = new RecordedAction();
            action.UserData.Add("code", Recorder.CodeGenElementClick);
            codeSequence.Items.Add(action);

            result =
                Recorder.CheckCodeSequenceNovelty(
                    cmdlet,
                    Recorder.RecordingCollection,
                    codeSequence);
            Assert.AreEqual(expectedResult, result);
        }
        private static void testCollections(
            System.Collections.Generic.List <IRecordedCodeSequence> expectedCollection,
            System.Collections.Generic.List <IRecordedCodeSequence> realCollection)
        {
            for (int iRecordings = 0; iRecordings < expectedCollection.Count; iRecordings++)
            {
                var expectedSequence = expectedCollection[iRecordings];
                var realSequence     = realCollection[iRecordings];

                if (((null != expectedSequence) && (null == realSequence)) ||
                    ((null == expectedSequence) && (null != realSequence)))
                {
                    Assert.Fail(
                        "Elements of the recording collections don't match at " +
                        iRecordings.ToString() +
                        "th code sequence.");
                }

                if ((null == expectedSequence) && (null == realSequence))
                {
                    continue;
                }

                if ((null != expectedSequence) && (null != realSequence))
                {
                    if (expectedSequence.GetType().Name != realSequence.GetType().Name)
                    {
                        Assert.Fail(
                            "Elements of the recording collections of not the same type at " +
                            iRecordings.ToString() +
                            "th code sequence.");
                    }

                    for (int iElements = 0; iElements < expectedSequence.Items.Count; iElements++)
                    {
                        var expectedItem = expectedSequence.Items[iElements];
                        var realItem     = realSequence.Items[iElements];

                        if ((null != expectedItem) && (null == realItem) ||
                            ((null == expectedItem) && (null != realItem)))
                        {
                            Assert.Fail(
                                "Items of the code sequences are not equal. " +
                                "Collections at " +
                                iRecordings.ToString() +
                                "th code sequence, items at " +
                                iElements.ToString() +
                                "th position");
                        }

                        if ((null == expectedItem) && (null == realItem))
                        {
                            continue;
                        }

                        if ((null != expectedItem) && (null != realItem))
                        {
                            RecordedWebElement expectedWebElement = expectedItem as RecordedWebElement;
                            RecordedWebElement realWebElement     = realItem as RecordedWebElement;

                            RecordedAction expectedAction = expectedItem as RecordedAction;
                            RecordedAction realAction     = realItem as RecordedAction;

                            RecordedData expectedData = expectedItem as RecordedData;
                            RecordedData realData     = realItem as RecordedData;


                            if ((null != expectedWebElement) || (null != realWebElement))
                            {
                                if ((null != expectedWebElement) && (null == realWebElement) ||
                                    (null == expectedWebElement) && (null != realWebElement))
                                {
                                    Assert.Fail(
                                        "Items of different types. " +
                                        "Collections at " +
                                        iRecordings.ToString() +
                                        "th code sequence, items at " +
                                        iElements.ToString() +
                                        "th position");
                                }

                                if ((null == expectedWebElement) && (null == realWebElement))
                                {
                                    // choose another type to compare
                                }
                                else
                                {
                                    // compare two RecordedWebElements

                                    //RecordedWebElement expectedElement = (expectedCollection[iRecordings].Items[iElements] as RecordedWebElement);
                                    //RecordedWebElement realElement = (realCollection[iRecordings].Items[iElements] as RecordedWebElement);

                                    foreach (string keyWeb in expectedWebElement.UserData.Keys)
                                    {
                                        //for (int iWebKeys = 0; iWebKeys < expectedWebElement.UserData.Count; iWebKeys++) {

                                        //object webValueExpected = expectedWebElement.UserData[expectedWebElement.UserData.Keys[iWebKeys]];
                                        //object webValueReal = realWebElement.UserData[realWebElement.UserData.Keys[iWebKeys]];

                                        object webValueExpected = expectedWebElement.UserData[keyWeb];
                                        object webValueReal     = realWebElement.UserData[keyWeb];

                                        if (webValueExpected != webValueReal)
                                        {
                                            Assert.Fail(
                                                "Items with diferent values. " +
                                                "Collections at " +
                                                iRecordings.ToString() +
                                                "th code sequence, items at " +
                                                iElements.ToString() +
                                                "th position, key is " +
                                                keyWeb);
                                        }
                                    }
                                }
                            }
                            else if ((null != expectedAction) || (null != realAction))
                            {
                                if ((null != expectedAction) && (null == realAction) ||
                                    (null == expectedAction) && (null != realAction))
                                {
                                    Assert.Fail(
                                        "Items of different types. " +
                                        "Collections at " +
                                        iRecordings.ToString() +
                                        "th code sequence, items at " +
                                        iElements.ToString() +
                                        "th position");
                                }

                                if ((null == expectedAction) && (null == realAction))
                                {
                                    // choose another type to compare
                                }
                                else
                                {
                                    // compare two RecordedActions

                                    foreach (string keyAction in expectedAction.UserData.Keys)
                                    {
                                        object actValueExpected = expectedAction.UserData[keyAction];
                                        object actValueReal     = realAction.UserData[keyAction];

                                        if (actValueExpected != actValueReal)
                                        {
                                            Assert.Fail(
                                                "Items with diferent values. " +
                                                "Collections at " +
                                                iRecordings.ToString() +
                                                "th code sequence, items at " +
                                                iElements.ToString() +
                                                "th position, key is " +
                                                keyAction);
                                        }
                                    }
                                }
                            }
                            else if ((null != expectedData) || (null != realData))
                            {
                                if ((null != expectedData) && (null == expectedData) ||
                                    (null == expectedData) && (null != realData))
                                {
                                    Assert.Fail(
                                        "Items of different types. " +
                                        "Collections at " +
                                        iRecordings.ToString() +
                                        "th code sequence, items at " +
                                        iElements.ToString() +
                                        "th position");
                                }

                                if ((null == expectedData) && (null == realData))
                                {
                                    // choose another type to compare
                                }
                                else
                                {
                                    // compare two RscordedDatas

                                    foreach (string keyData in expectedData.UserData.Keys)
                                    {
                                        object dataValueExpected = expectedData.UserData[keyData];
                                        object dataValueReal     = realData.UserData[keyData];

                                        if (dataValueExpected != dataValueReal)
                                        {
                                            Assert.Fail(
                                                "Items with diferent values. " +
                                                "Collections at " +
                                                iRecordings.ToString() +
                                                "th code sequence, items at " +
                                                iElements.ToString() +
                                                "th position, key is " +
                                                keyData);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }