示例#1
0
        public void GroupBase_Default_DoesNotSerializeOptionalElements()
        {
            var group   = new TestGroup_InheritsGroupBase("TestGroup");
            var element = SerializeUtilities.SerializeToXElement(group);

            Assert.DoesNotContain(element.Elements(), e => e.Name.LocalName == "InputContext");
        }
示例#2
0
        public void AddFields_Null_DoesNothing()
        {
            var testGroupBase = new TestGroup_InheritsGroupBase();

            testGroupBase.AddFields(null);
            Assert.Empty(testGroupBase.Fields);
        }
示例#3
0
        public void GroupBase_Default_SerializesRequiredElements(string expectedElement)
        {
            var group   = new TestGroup_InheritsGroupBase("TestGroup");
            var element = SerializeUtilities.SerializeToXElement(group);

            Assert.Contains(element.Elements(), e => e.Name.LocalName == expectedElement);
        }
示例#4
0
        public void GroupBase_Default_Serializes()
        {
            var group   = new TestGroup_InheritsGroupBase("TestGroup");
            var element = SerializeUtilities.SerializeToXElement(group);

            Assert.NotNull(element);
            Assert.Equal("TestGroup", element.Name.LocalName);
        }
示例#5
0
        public void AddGroup_SubGroupDoesNotHaveParent_SetsParentProperty()
        {
            var parent   = new TestGroup_InheritsGroupBase();
            var subGroup = new SubGroup("Child");

            parent.AddGroup(subGroup);
            Assert.Equal(parent, subGroup.Parent);
        }
示例#6
0
        public void AddGroup_SubGroupDoesNotHaveParent_AddsGroupToChildren()
        {
            var parent   = new TestGroup_InheritsGroupBase();
            var subGroup = new SubGroup("Child");

            parent.AddGroup(subGroup);
            Assert.Contains(subGroup, parent.SubGroups);
        }
示例#7
0
        public void AddField_GroupDoesNotContainField_AddsFieldToGroup()
        {
            var group = new TestGroup_InheritsGroupBase();
            var field = new Field("TestField");

            Assert.Empty(group.Fields);
            group.AddField(field);
            Assert.Contains(field, group.Fields);
        }
示例#8
0
        public void GroupBase_InputContextPopulated_Serializes()
        {
            var group = new TestGroup_InheritsGroupBase("TestGroup");

            group.InputContext = "Test";
            var element = SerializeUtilities.SerializeToXElement(group);

            Assert.Contains(element.Elements(), e => e.Name.LocalName == "InputContext");
        }
示例#9
0
        public void RemoveGroup_Group_RemovesParentFromChild()
        {
            var rootGroup  = new TestGroup_InheritsGroupBase("/");
            var childGroup = new SubGroup("Child");

            rootGroup.AddGroup(childGroup);
            rootGroup.RemoveGroup(childGroup);

            Assert.Null(childGroup.Parent);
        }
示例#10
0
        public void RemoveGroup_Group_RemovesChildFromGroups()
        {
            var rootGroup = new TestGroup_InheritsGroupBase("/");
            var subGroup  = new SubGroup("Child");

            rootGroup.AddGroup(subGroup);
            rootGroup.RemoveGroup(subGroup);

            Assert.DoesNotContain(subGroup, rootGroup.SubGroups);
        }
示例#11
0
        public void RemoveGroup_ParentDoesNotContainChild_DoesNothing()
        {
            var rootGroup     = new TestGroup_InheritsGroupBase("/");
            var subGroup      = new SubGroup("Child");
            var otherSubGroup = new SubGroup("Other");

            rootGroup.AddGroup(subGroup);
            rootGroup.RemoveGroup(otherSubGroup);

            Assert.Contains(subGroup, rootGroup.SubGroups);
            Assert.DoesNotContain(otherSubGroup, rootGroup.SubGroups);
        }
示例#12
0
        public void AddField_GroupContainsField_DoesNothing()
        {
            var testGroupBase = new TestGroup_InheritsGroupBase();
            var field         = new Field("TestField");

            testGroupBase.AddField(field);
            Assert.Contains(field, testGroupBase.Fields);
            Assert.Equal(1, testGroupBase.Fields.Count());

            testGroupBase.AddField(field);
            Assert.Contains(field, testGroupBase.Fields);
            Assert.Equal(1, testGroupBase.Fields.Count());
        }
示例#13
0
        public void RemoveField_GroupContainsField_FieldRemovedFromGroup()
        {
            var testGroupBase = new TestGroup_InheritsGroupBase();
            var field         = new Field("TestField");

            testGroupBase.AddField(field);
            Assert.Contains(field, testGroupBase.Fields);
            Assert.Equal(1, testGroupBase.Fields.Count());

            testGroupBase.RemoveField(field);
            Assert.DoesNotContain(field, testGroupBase.Fields);
            Assert.Empty(testGroupBase.Fields);
        }
示例#14
0
        public void AddGroup_SubGroupHasParent_OriginalParentRemovesChild()
        {
            var originalParent = new TestGroup_InheritsGroupBase("OriginalParent");
            var subGroup       = new SubGroup("Child");

            originalParent.AddGroup(subGroup);

            var newParent = new TestGroup_InheritsGroupBase("NewParent");

            newParent.AddGroup(subGroup);

            Assert.DoesNotContain(subGroup, originalParent.SubGroups);
            Assert.Same(newParent, subGroup.Parent);
        }
示例#15
0
        public void RemoveField_GroupDoesNotContainField_DoesNothing()
        {
            var testGroupBase = new TestGroup_InheritsGroupBase();
            var addedField    = new Field("TestField");
            var otherField    = new Field("OtherField");

            testGroupBase.AddField(addedField);
            Assert.Contains(addedField, testGroupBase.Fields);
            Assert.Equal(1, testGroupBase.Fields.Count());

            testGroupBase.RemoveField(otherField);
            Assert.DoesNotContain(otherField, testGroupBase.Fields);
            Assert.Contains(addedField, testGroupBase.Fields);
            Assert.Equal(1, testGroupBase.Fields.Count());
        }