public void RestructurePersonalization_ShouldSetTheSamePersonalizationGroupOnAllFunctions()
        {
            // Arrange
            var subject         = new ContentMap();
            var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
            var containerGuid   = Guid.NewGuid();
            var page            = CreatePersonalizedComposerPage(containerGuid, sourceFunctions);

            subject.AddPage(page);
            subject.AddPersonalisationContainer(containerGuid);

            // Act
            subject.RestructurePersonalization();

            // Assert
            var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToArray();

            Assert.IsTrue(restructuredFunctions.Skip(1).All(b => b.PersonalizationGroup == restructuredFunctions[0].PersonalizationGroup));
        }
        public void RestructurePersonalization_ShouldMovePersonalizedFunctionsToContainerParent()
        {
            // Arrange
            var subject         = new ContentMap();
            var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid() };
            var containerGuid   = Guid.NewGuid();
            var page            = CreatePersonalizedComposerPage(containerGuid, sourceFunctions);

            subject.AddPage(page);
            subject.AddPersonalisationContainer(containerGuid);

            // Act
            subject.RestructurePersonalization();

            // Assert
            var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToList();

            Assert.AreEqual(2, restructuredFunctions.Count());
            Assert.AreEqual(sourceFunctions[0], restructuredFunctions[0].Guid);
            Assert.AreEqual(sourceFunctions[1], restructuredFunctions[1].Guid);
        }
        public void RestructurePersonalization_ShouldSetTheSamePersonalizationGroupOnAllFunctions()
        {
            // Arrange
            var subject = new ContentMap();
            var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
            var containerGuid = Guid.NewGuid();
            var page = CreatePersonalizedComposerPage(containerGuid, sourceFunctions);
            subject.AddPage(page);
            subject.AddPersonalisationContainer(containerGuid);

            // Act
            subject.RestructurePersonalization();

            // Assert
            var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToArray();
            Assert.IsTrue(restructuredFunctions.Skip(1).All(b => b.PersonalizationGroup == restructuredFunctions[0].PersonalizationGroup));
        }
        public void RestructurePersonalization_ShouldMovePersonalizedFunctionsToContainerParent()
        {
            // Arrange
            var subject = new ContentMap();
            var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid() };
            var containerGuid = Guid.NewGuid();
            var page = CreatePersonalizedComposerPage(containerGuid, sourceFunctions);
            subject.AddPage(page);
            subject.AddPersonalisationContainer(containerGuid);

            // Act
            subject.RestructurePersonalization();

            // Assert
            var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToList();
            Assert.AreEqual(2, restructuredFunctions.Count());
            Assert.AreEqual(sourceFunctions[0], restructuredFunctions[0].Guid);
            Assert.AreEqual(sourceFunctions[1], restructuredFunctions[1].Guid);
        }