public void GetLeavesForLeaf()
        {
            var flattened = new StartingLanesFlatBuilder().GetLeaves(GetRootLanes(), "DYN/Hobbies/B");
            var ids       = flattened.Select(f => f.StartingLaneId).ToArray();
            var fullnames = flattened.Select(f => f.FullName).ToArray();

            Assert.That(ids, Is.EqualTo(new String[] { "DYN/Hobbies/B" }));
            Assert.That(fullnames, Is.EqualTo(new String[] { "" }));
        }
        public void GetParentInDeepLevel()
        {
            var flattened = new StartingLanesFlatBuilder().GetParent(GetRootLanes(), "DYN/Elite/A");

            Assert.That(flattened, Is.Not.Null);
            Assert.That(flattened.StartingLaneId, Is.EqualTo("DYN/Elite/A"));
            Assert.That(flattened.ShortName, Is.EqualTo("A"));
            Assert.That(flattened.FullName, Is.EqualTo("DYN Elite A"));
        }
        public void GetParentInRoot()
        {
            var flattened = new StartingLanesFlatBuilder().GetParent(GetRootLanes(), "STA");

            Assert.That(flattened, Is.Not.Null);
            Assert.That(flattened.StartingLaneId, Is.EqualTo("STA"));
            Assert.That(flattened.ShortName, Is.EqualTo("STA"));
            Assert.That(flattened.FullName, Is.EqualTo("STA"));
        }
        public void GetLeavesForRootLane()
        {
            var flattened = new StartingLanesFlatBuilder().GetLeaves(GetRootLanes(), "STA");
            var ids       = flattened.Select(f => f.StartingLaneId).ToArray();
            var fullnames = flattened.Select(f => f.FullName).ToArray();

            Assert.That(ids, Is.EqualTo(new String[] {
                "STA/ME/A", "STA/ME/B", "STA/Hobbies/A", "STA/Hobbies/B", "STA/Elite/A", "STA/Elite/B",
            }));
            Assert.That(fullnames, Is.EqualTo(new String[] {
                "ME A", "ME B", "Hobbies A", "Hobbies B", "Elite A", "Elite B",
            }));
        }
        public void GetLeavesNull()
        {
            var flattened = new StartingLanesFlatBuilder().GetLeaves(GetRootLanes(), null);
            var ids       = flattened.Select(f => f.StartingLaneId).ToArray();
            var fullnames = flattened.Select(f => f.FullName).ToArray();

            Assert.That(ids, Is.EqualTo(new String[] {
                "STA/ME/A", "STA/ME/B", "STA/Hobbies/A", "STA/Hobbies/B", "STA/Elite/A", "STA/Elite/B",
                "DYN/ME/A", "DYN/ME/B", "DYN/Hobbies/A", "DYN/Hobbies/B", "DYN/Elite/A", "DYN/Elite/B",
                "CWT/ME/A", "CWT/ME/B", "CWT/Hobbies/A", "CWT/Hobbies/B", "CWT/Elite/A", "CWT/Elite/B",
            }));
            Assert.That(fullnames, Is.EqualTo(new String[] {
                "STA ME A", "STA ME B", "STA Hobbies A", "STA Hobbies B", "STA Elite A", "STA Elite B",
                "DYN ME A", "DYN ME B", "DYN Hobbies A", "DYN Hobbies B", "DYN Elite A", "DYN Elite B",
                "CWT ME A", "CWT ME B", "CWT Hobbies A", "CWT Hobbies B", "CWT Elite A", "CWT Elite B",
            }));
        }
        public void GetParentNull()
        {
            var flattened = new StartingLanesFlatBuilder().GetParent(GetRootLanes(), null);

            Assert.That(flattened, Is.Null);
        }