예제 #1
0
        public void ToStringChangedEvent()
        {
            KmlNode root = data.Root2;

            root.ToStringChanged += TestEventHandler;

            //_testEventHandlerVisited = false;
            //root.Tag = "other";
            //Assert.IsTrue(_testEventHandlerVisited);

            _testEventHandlerVisited = false;
            KmlAttrib attrib = KmlItem.CreateItem("name = rootname") as KmlAttrib;

            root.Add(attrib);
            Assert.IsTrue(_testEventHandlerVisited);

            _testEventHandlerVisited = false;
            attrib.Value             = "other";
            Assert.IsTrue(_testEventHandlerVisited);

            // attrib.CanBeDeleted will be false
            _testEventHandlerVisited = false;
            Assert.IsFalse(root.Delete(attrib));
            Assert.IsFalse(_testEventHandlerVisited);
        }
예제 #2
0
        public void MixedInsert()
        {
            KmlNode root  = data.Root2;
            KmlNode node1 = KmlItem.CreateItem("node1") as KmlNode;

            root.Add(node1);
            KmlAttrib attrib1 = KmlItem.CreateItem("attrib1 = value1") as KmlAttrib;

            root.InsertBefore(node1, attrib1);
            // KmlItem constructor is only way to create a KmlItem (unknown) instead of KmlNode or KmlAttrib
            KmlItem unknown = new KmlItem("unknown");

            root.InsertBefore(node1, unknown);
            KmlNode node2 = KmlItem.CreateItem("node2") as KmlNode;

            root.InsertBefore(node1, node2);
            KmlAttrib attrib2 = KmlItem.CreateItem("attrib2 = value2") as KmlAttrib;

            root.InsertBefore(attrib1, attrib2);

            Assert.AreEqual(2, root.Attribs.Count);
            Assert.AreEqual(2, root.Children.Count);
            Assert.AreEqual(1, root.Unknown.Count);
            Assert.AreEqual(5, root.AllItems.Count);
            Assert.AreEqual(attrib2, root.Attribs[0]);
            Assert.AreEqual(attrib1, root.Attribs[1]);
            Assert.AreEqual(unknown, root.Unknown[0]);
            Assert.AreEqual(node2, root.Children[0]);
            Assert.AreEqual(node1, root.Children[1]);
        }
예제 #3
0
        public void PartIsDock()
        {
            Assert.IsFalse(KmlPartDock.PartIsDock(data.Vessel1Part1));
            Assert.IsFalse(KmlPartDock.PartIsDock(data.Vessel1Part2));

            KmlPart part = (KmlPart)KmlItem.CreateItem("PART");

            Assert.IsFalse(KmlPartDock.PartIsDock(part));

            KmlNode module = (KmlNode)KmlItem.CreateItem("WrongTag");

            part.Add(module);
            Assert.IsFalse(KmlPartDock.PartIsDock(part));
            module.Add(KmlItem.CreateItem("name = ModuleDockingNode"));
            Assert.IsFalse(KmlPartDock.PartIsDock(part));

            module = (KmlNode)KmlItem.CreateItem("MODULE");
            part.Add(module);
            Assert.IsFalse(KmlPartDock.PartIsDock(part));
            KmlAttrib name = (KmlAttrib)KmlItem.CreateItem("name = ModuleDockingNode");

            module.Add(name);
            Assert.IsTrue(KmlPartDock.PartIsDock(part));
            name.Value = "WrongName";
            Assert.IsFalse(KmlPartDock.PartIsDock(part));
            name.Value = "ModuleDockingNodeNamed";
            Assert.IsTrue(KmlPartDock.PartIsDock(part));
            name.Value = "ModuleGrappleNode";
            Assert.IsTrue(KmlPartDock.PartIsDock(part));
            name.Value = "KASModuleStrut";
            Assert.IsTrue(KmlPartDock.PartIsDock(part));
        }
예제 #4
0
        public void CreateItem()
        {
            KmlPart part = (KmlPart)KmlItem.CreateItem("PART");

            KmlNode module = (KmlNode)KmlItem.CreateItem("MODULE");

            part.Add(module);
            KmlAttrib name = (KmlAttrib)KmlItem.CreateItem("name = ModuleDockingNode");

            module.Add(name);
            Assert.IsTrue(KmlPartDock.PartIsDock(part));

            // Need to parse memory roots, to call identify and have the KmlPart
            // replaced by a KmlPartDock
            List <KmlItem> list = new List <KmlItem>();

            list.Add(part);
            list = KmlItem.ParseMemory(list);
            Assert.AreEqual(1, list.Count);
            Assert.AreNotEqual(part, list[0]);
            Assert.IsTrue(list[0] is KmlPartDock);
            KmlPartDock dock = (KmlPartDock)list[0];

            Assert.AreEqual(KmlPartDock.DockTypes.Dock, dock.DockType);
            Assert.AreEqual("", dock.DockName);
            Assert.AreEqual("", dock.DockState);
            Assert.AreEqual("", dock.DockedVesselName);
            Assert.AreEqual("", dock.DockedVesselType);
            Assert.AreEqual("", dock.DockedVesselOtherName);
            Assert.AreEqual("", dock.DockedVesselOtherType);
            Assert.AreEqual("", dock.DockUid);
            Assert.IsNull(dock.DockedPart);
            Assert.IsFalse(dock.NeedsRepair);
        }
예제 #5
0
        public void MixedAddWellOrdered()
        {
            KmlNode   root    = data.Root2;
            KmlAttrib attrib1 = KmlItem.CreateItem("attrib1 = value1") as KmlAttrib;

            root.Add(attrib1);
            KmlNode node1 = KmlItem.CreateItem("node1") as KmlNode;

            root.Add(node1);
            KmlAttrib attrib2 = KmlItem.CreateItem("attrib2 = value1") as KmlAttrib;

            root.Add(attrib2);
            KmlNode node2 = KmlItem.CreateItem("node2") as KmlNode;

            root.Add(node2);
            KmlAttrib attrib3 = KmlItem.CreateItem("attrib3 = value2") as KmlAttrib;

            root.Add(attrib3);

            Assert.AreEqual(3, root.Attribs.Count);
            Assert.AreEqual(2, root.Children.Count);
            Assert.AreEqual(5, root.AllItems.Count);
            Assert.AreEqual(attrib1, root.AllItems[0]);
            Assert.AreEqual(attrib2, root.AllItems[1]);
            Assert.AreEqual(attrib3, root.AllItems[2]);
            Assert.AreEqual(node1, root.AllItems[3]);
            Assert.AreEqual(node2, root.AllItems[4]);
        }
예제 #6
0
        public void ChildGetTag()
        {
            KmlNode test = data.Root1.GetChildNode("Node2Tag");

            Assert.AreEqual(data.Node2, test);
            KmlAttrib nonsense = data.Root1.GetAttrib("nonsense");

            Assert.IsNull(nonsense);
        }
예제 #7
0
        public void AttribGet()
        {
            KmlAttrib test = data.Node1.GetAttrib("Attrib2");

            Assert.AreEqual(data.Node1Attrib2, test);
            KmlAttrib nonsense = data.Node1.GetAttrib("nonsense");

            Assert.IsNull(nonsense);
        }
예제 #8
0
        public void AttribChangeName()
        {
            KmlAttrib attrib = KmlItem.CreateItem("name = rootname") as KmlAttrib;

            data.Root1.Add(attrib);

            Assert.AreEqual("rootname", data.Root1.Name);
            attrib.Value = "newname";
            Assert.AreEqual("newname", data.Root1.Name);
        }
예제 #9
0
        public void AttribInsertBeforeNotContained()
        {
            KmlAttrib attrib = KmlItem.CreateItem("attrib = value") as KmlAttrib;

            data.Node1.InsertBefore(data.Node2Attrib1, attrib);

            Assert.AreEqual(data.Node1AttribCount + 1, data.Node1.Attribs.Count);
            Assert.AreEqual(data.Node1AttribCount + data.Node1ChildCount + 1, data.Node1.AllItems.Count);
            Assert.AreEqual(attrib, data.Node1.Attribs[data.Node1AttribCount]);
        }
예제 #10
0
        public void AttribInsertAfterEmpty()
        {
            KmlAttrib attrib = KmlItem.CreateItem("attrib = value") as KmlAttrib;

            data.Node1.InsertAfter(null, attrib);

            Assert.AreEqual(data.Node1AttribCount + 1, data.Node1.Attribs.Count);
            Assert.AreEqual(data.Node1AttribCount + data.Node1ChildCount + 1, data.Node1.AllItems.Count);
            Assert.AreEqual(attrib, data.Node1.Attribs[data.Node1AttribCount]);
        }
예제 #11
0
        public void AttribChangedEvent()
        {
            data.Root1.AttribChanged += TestEventHandler;
            _testEventHandlerVisited  = false;
            KmlAttrib attrib = KmlItem.CreateItem("attrib = value") as KmlAttrib;

            data.Root1.Add(attrib);
            Assert.IsTrue(_testEventHandlerVisited);
            _testEventHandlerVisited = false;
            data.Root1.Delete(attrib);
            Assert.IsTrue(_testEventHandlerVisited);
        }
예제 #12
0
        public void WarningAttribAddAfterNode()
        {
            // Syntax.Messages are static, there may be some from other tests
            int messageCount = Syntax.Messages.Count;

            KmlAttrib attrib = KmlItem.CreateItem("attrib = value") as KmlAttrib;

            data.Root1.Add(attrib);

            Assert.AreEqual(messageCount + 1, Syntax.Messages.Count);
            Assert.AreEqual(attrib, Syntax.Messages[Syntax.Messages.Count - 1].Source);
        }
예제 #13
0
        public void Create()
        {
            KmlAttrib attrib1 = new KmlAttrib("name1 = value1");

            Assert.AreEqual("name1", attrib1.Name);
            Assert.AreEqual("value1", attrib1.Value);

            KmlAttrib attrib2 = new KmlAttrib("name2=value2");

            Assert.AreEqual("name2", attrib2.Name);
            Assert.AreEqual("value2", attrib2.Value);
        }
예제 #14
0
        public void AttribInsertBefore()
        {
            KmlAttrib attrib = KmlItem.CreateItem("attrib = value") as KmlAttrib;

            data.Node1.InsertBefore(data.Node1Attrib1, attrib);

            Assert.AreEqual(data.Node1AttribCount + 1, data.Node1.Attribs.Count);
            Assert.AreEqual(data.Node1AttribCount + data.Node1ChildCount + 1, data.Node1.AllItems.Count);
            // data.Node1.Attribs[0] is name attrib
            Assert.AreEqual(attrib, data.Node1.Attribs[1]);
            Assert.AreEqual(data.Node1Attrib1, data.Node1.Attribs[2]);
        }
예제 #15
0
        public void AttribInsertAfter()
        {
            KmlAttrib attrib3 = KmlItem.CreateItem("attrib3 = value3") as KmlAttrib;

            data.Node1.InsertAfter(data.Node1Attrib1, attrib3);

            Assert.AreEqual(data.Node1AttribCount + 1, data.Node1.Attribs.Count);
            Assert.AreEqual(data.Node1AttribCount + data.Node1ChildCount + 1, data.Node1.AllItems.Count);
            // data.Node1.Attribs[0] is name attrib
            Assert.AreEqual(data.Node1Attrib1, data.Node1.Attribs[1]);
            Assert.AreEqual(attrib3, data.Node1.Attribs[2]);
            Assert.AreEqual(data.Node1Attrib2, data.Node1.Attribs[3]);
        }
예제 #16
0
        public void AttribValueChanged()
        {
            KmlAttrib attrib = KmlItem.CreateItem("name =") as KmlAttrib;

            attrib.AttribValueChanged += TestEventHandler;

            _testEventHandlerVisited = false;
            attrib.Value             = "value1";
            Assert.IsTrue(_testEventHandlerVisited);

            _testEventHandlerVisited = false;
            attrib.Value             = "value2";
            Assert.IsTrue(_testEventHandlerVisited);
        }
예제 #17
0
        public void AttribAddToEnd()
        {
            KmlAttrib attrib1 = KmlItem.CreateItem("attrib1 = value1") as KmlAttrib;

            data.Root2.Add(attrib1);
            KmlAttrib attrib2 = KmlItem.CreateItem("attrib2 = value2") as KmlAttrib;

            data.Root2.Add(attrib2);

            Assert.AreEqual(2, data.Root2.Attribs.Count);
            Assert.AreEqual(2, data.Root2.AllItems.Count);
            Assert.AreEqual(attrib1, data.Root2.Attribs[0]);
            Assert.AreEqual(attrib2, data.Root2.Attribs[1]);
        }
예제 #18
0
        public void AttribGetOrCreate()
        {
            KmlAttrib test = data.Node1.GetOrCreateAttrib("Attrib2", "default2");

            Assert.AreEqual(data.Node1Attrib2, test);
            Assert.AreEqual("Value2", test.Value);
            Assert.AreEqual(data.Node1AttribCount, data.Node1.Attribs.Count);

            KmlAttrib other = data.Node1.GetOrCreateAttrib("other", "default");

            Assert.IsTrue(data.Node1.Attribs.Contains(other));
            Assert.AreEqual("other", other.Name);
            Assert.AreEqual("default", other.Value);
            Assert.AreEqual(data.Node1AttribCount + 1, data.Node1.Attribs.Count);
        }
예제 #19
0
        public void AttribAddRange()
        {
            List <KmlItem> list    = new List <KmlItem>();
            KmlAttrib      attrib1 = KmlItem.CreateItem("attrib1 = value1") as KmlAttrib;

            list.Add(attrib1);
            KmlAttrib attrib2 = KmlItem.CreateItem("attrib2 = value2") as KmlAttrib;

            list.Add(attrib2);
            data.Root2.AddRange(list);

            Assert.AreEqual(2, data.Root2.Attribs.Count);
            Assert.AreEqual(2, data.Root2.AllItems.Count);
            Assert.AreEqual(attrib1, data.Root2.Attribs[0]);
            Assert.AreEqual(attrib2, data.Root2.Attribs[1]);
        }
예제 #20
0
        public void CreateItem()
        {
            KmlItem item1 = KmlItem.CreateItem("name1 = value1");

            Assert.IsNotNull(item1);
            Assert.IsTrue(item1 is KmlAttrib);
            KmlAttrib attrib1 = (KmlAttrib)item1;

            Assert.AreEqual("name1", attrib1.Name);
            Assert.AreEqual("value1", attrib1.Value);

            KmlItem item2 = KmlItem.CreateItem("name2=value2");

            Assert.IsNotNull(item2);
            Assert.IsTrue(item2 is KmlAttrib);
            KmlAttrib attrib2 = (KmlAttrib)item2;

            Assert.AreEqual("name2", attrib2.Name);
            Assert.AreEqual("value2", attrib2.Value);
        }
예제 #21
0
파일: TestData.cs 프로젝트: tophyr/KML
        private KmlAttrib NewAttrib(string name, string value)
        {
            KmlAttrib attrib = KmlItem.CreateItem(name + " = " + value) as KmlAttrib;

            return(attrib);
        }