コード例 #1
0
            public void NominalCancel()
            {
                int                      newLength = 2, newStart = 3, newWord = 2;
                string                   newName = "NewName1234", newType = "Header Length";
                MessageFieldModel        mfm = mvm.Vm_MessageStructure.Vm_MessageTypeTree.MessageTypes[0].MessageFields[0];
                MessageFieldDetailsModel mfdm;

                ((ICommand)mvm.SelectType).Execute(mvm.Vm_MessageStructure.Vm_MessageTypeTree.MessageTypes[0]);
                ((ICommand)mvm.NavCommand).Execute(mfm);
                mfdm = mvm.Vm_FieldDetails.FieldDetails;

                mfdm.BitLength     = newLength;
                mfdm.FieldName     = newName;
                mfdm.BitStart      = newStart;
                mfdm.WordNum       = newWord;
                mfdm.IsSpecialType = true;
                mfdm.SpecialType   = newType;

                ((ICommand)mvm.ButtonCancel).Execute(mfm.MessageFieldDetails);
                mfdm = mfm.MessageFieldDetails;

                Assert.AreNotEqual(newLength, mfdm.BitLength);
                Assert.AreNotEqual(newLength.ToString(), mfdm.BitLengthString);
                Assert.AreNotEqual(newName, mfdm.FieldName);
                Assert.AreNotEqual(newStart, mfdm.BitStart);
                Assert.AreNotEqual(newWord, mfdm.WordNum);
                Assert.AreNotEqual(true, mfdm.IsSpecialType);
                Assert.AreNotEqual(newType, mfdm.SpecialType);
                //Assert.IsTrue(mvm.Vm_MessageFields.MessageFields[0].IsEnabled);
                //Assert.IsTrue(mvm.Vm_MessageFields.SubtractIsEnabled);
                //Assert.IsTrue(mvm.Vm_MessageFields.TextIsEnabled);
                //Assert.IsTrue(mvm.Vm_MessageFields.AddIsEnabled);
            }
コード例 #2
0
            public void ConfirmOverMax()
            {
                int                      newLength = 20, newStart = 30, newWord = 5;
                string                   newName = "NewName1234", newType = "Header Length";
                MessageFieldModel        mfm = mvm.Vm_MessageStructure.Vm_MessageTypeTree.MessageTypes[0].MessageFields[0];
                MessageFieldDetailsModel mfdm;

                ((ICommand)mvm.SelectType).Execute(mvm.Vm_MessageStructure.Vm_MessageTypeTree.MessageTypes[0]);
                ((ICommand)mvm.NavCommand).Execute(mfm);
                mfdm = mvm.Vm_FieldDetails.FieldDetails;

                mfdm.BitLength     = newLength;
                mfdm.FieldName     = newName;
                mfdm.BitStart      = newStart;
                mfdm.WordNum       = newWord;
                mfdm.IsSpecialType = true;
                mfdm.SpecialType   = newType;

                ((ICommand)mvm.ButtonOk).Execute(mfm.MessageFieldDetails);
                mfdm = mfm.MessageFieldDetails;

                Assert.AreEqual(1, mfdm.BitLength);
                Assert.AreEqual("1", mfdm.BitLengthString);
                Assert.AreEqual(newName, mfdm.FieldName);
                Assert.AreEqual(15, mfdm.BitStart);
                Assert.AreEqual(newWord, mfdm.WordNum);
                Assert.AreEqual(true, mfdm.IsSpecialType);
                Assert.AreEqual(newType, mfdm.SpecialType);
                //Assert.IsTrue(mvm.Vm_MessageFields.MessageFields[0].IsEnabled);
                //Assert.IsTrue(mvm.Vm_MessageFields.SubtractIsEnabled);
                //Assert.IsTrue(mvm.Vm_MessageFields.TextIsEnabled);
                //Assert.IsTrue(mvm.Vm_MessageFields.AddIsEnabled);
            }
コード例 #3
0
        /// <summary>
        /// Searches the current FieldCollection for the field in the same spot as messageField, then pulls it forward.
        /// </summary>
        /// <param name="messageField"></param>
        public MessageFieldModel PrioritizeField(MessageFieldModel messageField)
        {
            MessageFieldDetailsModel fieldDetails = messageField.MessageFieldDetails;
            MessageFieldModel        newField     = MessageFields.FindField(fieldDetails.WordNum, fieldDetails.BitStart);

            newField.ZIndex++;
            return(newField);
        }
コード例 #4
0
        private void OverwriteField(MessageFieldDetailsModel mfdm)
        {
            MessageFieldModel mfm =
                SelectedType.MessageFields.FindField(mfdm.WordNum, mfdm.BitStart);

            mfm.MessageFieldDetails = Vm_FieldDetails.FieldDetails;
            mfm.IsEnabled           = true;
        }
コード例 #5
0
ファイル: ModelTests.cs プロジェクト: hgillen/MessageDecoder
            public void BaseConstructor()
            {
                MessageFieldModel mfm = new MessageFieldModel();

                Assert.AreEqual(mfm.MessageFieldDetails.FieldName, "New Field");
                Assert.AreEqual(mfm.MessageFieldDetails.BitStart, 0);
                Assert.AreEqual(mfm.MessageFieldDetails.BitLength, 1);
                Assert.AreEqual(mfm.MessageFieldDetails.BitLengthString, "1");
                Assert.AreEqual(mfm.MessageFieldDetails.IsSpecialType, false);
            }
コード例 #6
0
            public void EditBit()
            {
                int testWord = 1, testBit = 1, newBit = 2;
                MessageFieldModel mfm = mvm.SelectedType.MessageFields.FirstOrDefault(x =>
                                                                                      testBit == x.MessageFieldDetails.BitStart && testWord == x.MessageFieldDetails.WordNum);

                // Needs work
                Assert.AreEqual(testBit, mfm.MessageFieldDetails.BitStart);
                Assert.AreEqual(testWord, mfm.MessageFieldDetails.WordNum);
                Assert.AreEqual(newBit, mfm.MessageFieldDetails.BitStart);
                Assert.AreEqual(testBit, mfm.MessageFieldDetails.BitStart);
            }
コード例 #7
0
        //public void OnAddWord(string a = "")
        //{
        //    if (NumWords >= maxWords) return;

        //    // Create a new field to fill in the spaces of the new word
        //    for (int i = 0; i < 16; ++i)
        //    {
        //        MessageFieldModel newField = new MessageFieldModel();
        //        newField.MessageFieldDetails.WordNum = NumWords;
        //        newField.MessageFieldDetails.BitStart = i;
        //        newField.MessageFieldDetails.BitLength = 1;

        //        MessageFields.Add(newField);
        //    }

        //    // Add to WordNumbers collection
        //    WordNumbers.Add(NumWords.ToString());

        //    // Increment field last
        //    ++NumWords;
        //}

        //public void OnSubtractWord(string a = "")
        //{
        //    if (NumWords <= 1) return;

        //    // Decrement field first
        //    --NumWords;

        //    // Remove from WordNumbers collection
        //    WordNumbers.Remove(NumWords.ToString());

        //    // Modify the collection by removing unwanted elements
        //    for (int i = 0; i < MessageFields.Count; ++i)
        //    {
        //        if (NumWords == MessageFields[i].MessageFieldDetails.WordNum)
        //        {
        //            MessageFields.Remove(MessageFields[i]);
        //            --i;
        //        }
        //    }
        //}

        public void AddWordFields()
        {
            // Create a new field to fill in the spaces of the new word
            for (int i = 0; i < 16; ++i)
            {
                MessageFieldModel newField = new MessageFieldModel();
                newField.MessageFieldDetails.WordNum   = NumWords;
                newField.MessageFieldDetails.BitStart  = i;
                newField.MessageFieldDetails.BitLength = 1;

                MessageFields.Add(newField);
            }
            NumWords++;
            UpdateMessageFields();
        }
コード例 #8
0
            public void NavToField()
            {
                MessageFieldModel mfm = new MessageFieldModel();

                mvm.Vm_MessageStructure.Vm_MessageTypeTree.MessageTypes[0].MessageFields =
                    new FieldCollection
                {
                    mfm
                };

                ((ICommand)mvm.SelectType).Execute(mvm.Vm_MessageStructure.Vm_MessageTypeTree.MessageTypes[0]);
                ((ICommand)mvm.NavCommand).Execute(mfm);

                //Assert.AreEqual(1, mvm.Vm_MessageFields.MessageFields.Count);
                //Assert.IsFalse(mvm.Vm_MessageFields.MessageFields[0].IsEnabled);
                //Assert.IsFalse(mvm.Vm_MessageFields.SubtractIsEnabled);
                //Assert.IsFalse(mvm.Vm_MessageFields.TextIsEnabled);
                //Assert.IsFalse(mvm.Vm_MessageFields.AddIsEnabled);
                Assert.IsNotNull(mvm.Vm_FieldDetails);
                Assert.AreEqual(mvm.Vm_FieldDetails, mvm.CurrentView);
            }
コード例 #9
0
        public MessageFieldDetailsModel ViewMessageField(MessageTypeTreeModel selectedType, MessageFieldModel mfm)
        {
            MessageFieldModel messageField;
            FieldCollection   messageFields;

            messageFields = CopyFieldCollection(selectedType);
            SetMessageFields(messageFields);
            messageField = Vm_MessageFields.PrioritizeField(mfm);
            // Prevent multiple selections
            SetButtons(false);

            return(messageField.MessageFieldDetails);
        }