public void TestMethodBetterLayoutAlgo() { var discCache = new DiscCache(); var discSpaceCanvasViewModel = new DiscSpaceCanvasViewModel(); discCache.Created += discSpaceCanvasViewModel.Manager.Create; discCache.Loaded += discSpaceCanvasViewModel.Manager.Load; discSpaceCanvasViewModel.Manager.Loaded += discSpaceCanvasViewModel.Loaded; discSpaceCanvasViewModel.Manager.Created += discSpaceCanvasViewModel.Create; discSpaceCanvasViewModel.Manager.Created += Manager_Created; discSpaceCanvasViewModel.UseAdvancedAlgoForLayout = true; discCache.LoadAsync(testDir).Wait(); foreach (var rectangle in discSpaceCanvasViewModel.VisibleRectangles) { Assert.IsNotNull(rectangle.ManagerRectangle); } Assert.IsNotNull(discSpaceCanvasViewModel.VisibleRoot); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.Height, 600); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRectangles.Count, 31); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRectangles.Where(x => x.Parent == discSpaceCanvasViewModel.VisibleRoot).Count(), 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle.Count, 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].Height, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].Height, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[2].Height, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].ChildrenRectangle.Count, 2); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].ChildrenRectangle.Count, 2); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.GetFirstLineForAlgo().Count, 1); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.GetSecondLineForAlgo().Count, 1); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.GetLinesForAlgo().Count, 3); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0]).GetLinesForAlgo().Count, 2); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0]).GetLinesForAlgo()[0].Count, 1); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0]).GetLinesForAlgo()[1].Count, 1); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0].OrderedChildren[0]).GetLinesForAlgo().Count, 2); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0].OrderedChildren[0]).GetLinesForAlgo()[0].Count, 1); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0].OrderedChildren[0].OrderedChildren[0]).GetLinesForAlgo().Count, 3); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0].OrderedChildren[0].OrderedChildren[0]).GetLinesForAlgo()[0].Count, 1); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0].OrderedChildren[0].OrderedChildren[0]).GetLinesForAlgo()[1].Count, 2); Assert.AreEqual(((DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.OrderedChildren[0].OrderedChildren[0].OrderedChildren[0]).GetLinesForAlgo()[2].Count, 1); }
public void TestOtherVisibleRoot() { var discCache = new DiscCache(); var discSpaceCanvasViewModel = new DiscSpaceCanvasViewModel(); discCache.Created += discSpaceCanvasViewModel.Manager.Create; discCache.Loaded += discSpaceCanvasViewModel.Manager.Load; discSpaceCanvasViewModel.Manager.Loaded += discSpaceCanvasViewModel.Loaded; discSpaceCanvasViewModel.Manager.Created += discSpaceCanvasViewModel.Create; discSpaceCanvasViewModel.Manager.Created += Manager_Created; discCache.LoadAsync(testDir).Wait(); foreach (var rectangle in discSpaceCanvasViewModel.VisibleRectangles) { Assert.IsNotNull(rectangle.ManagerRectangle); } Assert.IsNotNull(discSpaceCanvasViewModel.VisibleRoot); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRectangles.Count, 31); discSpaceCanvasViewModel.VisibleRoot = (DiscSpaceRectangle)discSpaceCanvasViewModel.VisibleRoot.Children[0]; Assert.AreEqual(discSpaceCanvasViewModel.VisibleRectangles.Count, 16); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.Height, 600); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle.Count, 2); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].Height, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].Height, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].X, 3); Assert.AreNotEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].X, 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].Y, 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].Y, 3); }
public void TestMethodLoadAndParents() { var discCache = new DiscCache(); var discSpaceCanvasViewModel = new DiscSpaceCanvasViewModel(); discCache.Created += discSpaceCanvasViewModel.Manager.Create; discCache.Loaded += discSpaceCanvasViewModel.Manager.Load; discSpaceCanvasViewModel.Manager.Loaded += discSpaceCanvasViewModel.Loaded; discSpaceCanvasViewModel.Manager.Created += discSpaceCanvasViewModel.Create; discSpaceCanvasViewModel.Manager.Created += Manager_Created; discCache.LoadAsync(testDir).Wait(); foreach (var rectangle in discSpaceCanvasViewModel.VisibleRectangles) { Assert.IsNotNull(rectangle.ManagerRectangle); } Assert.IsNotNull(discSpaceCanvasViewModel.VisibleRoot); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.Height, 600); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRectangles.Count, 31); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRectangles.Where(x => x.Parent == discSpaceCanvasViewModel.VisibleRoot).Count(), 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle.Count, 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].Height, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].Height, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[2].Height, 600 - 6); //Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.Children[2].Width + discSpaceCanvasViewModel.VisibleRoot.Children[2].X, 600 - 6); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].X, 3); Assert.AreNotEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].X, 3); Assert.AreNotEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[2].X, 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0].Y, 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1].Y, 3); Assert.AreEqual(discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[2].Y, 3); var first = discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[0]; Assert.AreEqual(first.Children.Count(), 2); Assert.AreEqual(first.ChildrenRectangle[0].Width, first.Width - 6); Assert.AreEqual(first.ChildrenRectangle[1].Width, first.Width - 6); Assert.AreEqual(first.ChildrenRectangle[0].X, first.X + 3); Assert.AreEqual(first.ChildrenRectangle[1].X, first.X + 3); Assert.AreEqual(first.ChildrenRectangle[0].Y, first.Y + 3); Assert.AreNotEqual(first.ChildrenRectangle[1].Y, first.Y + 3); var second = discSpaceCanvasViewModel.VisibleRoot.ChildrenRectangle[1]; Assert.AreEqual(second.Children.Count(), 2); Assert.AreEqual(second.ChildrenRectangle[0].Width, second.Width - 6); Assert.AreEqual(second.ChildrenRectangle[1].Width, second.Width - 6); Assert.AreEqual(second.ChildrenRectangle[0].Parent, second); Assert.AreEqual(second.ChildrenRectangle[1].Parent, second); Assert.AreEqual(second.ChildrenRectangle[0].X, second.X + 3); Assert.AreEqual(second.ChildrenRectangle[1].X, second.X + 3); Assert.AreEqual(second.ChildrenRectangle[0].Y, second.Y + 3); Assert.AreNotEqual(second.ChildrenRectangle[1].Y, second.Y + 3); Assert.AreEqual(CreatedEvents.Where(x => x.Height >= 6 && x.Width >= 6).Count(), discSpaceCanvasViewModel.VisibleRectangles.Count); }