コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: UnitTestDiscSpace.cs プロジェクト: imiyu/DiscUsage
        public void TestAddedEvents()
        {
            CreatedDiscSpaces.Clear();
            var discCache = new DiscCache();
            var discSpace = new DiscSpaceManager();

            discSpaceManager   = discSpace;
            discCache.Created += discSpace.Create;
            discCache.Loaded  += discSpace.Load;

            discSpace.Created += DiscSpace_Created;

            discCache.LoadAsync(testDir).Wait();

            discCache.Created -= discSpace.Create;
            discSpace.Created -= DiscSpace_Created;

            Assert.AreEqual(discCache.drivesCache.Count, 1);
            Assert.AreEqual(discCache.drivesCache[0].Length, 40599922);
            Assert.AreEqual(discSpace.OrderedByLevel.Count, 38);
            Assert.IsTrue(discSpace.Mapping.Values.ToList()[0].Length > discSpace.MinimalLimit);

            Assert.AreEqual(new HashSet <DiscSpace>(CreatedDiscSpaces).Count, CreatedDiscSpaces.Count);
            var diffSet = new HashSet <DiscSpace>(CreatedDiscSpaces).Where(x => !discSpace.Mapping.Values.Contains(x));

            Assert.AreEqual(diffSet.Count(), 0);
            var list = discSpace.OrderedByLevel;

            list.Reverse();
            foreach (var space in list)
            {
                var info = discSpace.MapBack(space);
                Assert.AreEqual(info.Name, space.Name);
                if (info is DirectoryCache)
                {
                    var directory = (DirectoryCache)info;
                    Assert.AreEqual(directory.Count, info.Count);
                }

                Assert.AreEqual(info.Length, space.Length);
            }

            var cache = CreatedDiscSpaces.ConvertAll(x => discSpace.MapBack(x));

            Assert.AreEqual(new HashSet <IInfoCache>(cache).Count, cache.Count);
            //Assert.AreEqual(CreatedDiscSpaces.Count, discSpace.OrderedByLevel.Count);
            var missing = discSpace.OrderedByLevel.Where(x => !CreatedDiscSpaces.Contains(x));

            Assert.AreEqual(missing.Count(), 0);
        }
コード例 #3
0
ファイル: UnitTestDiscSpace.cs プロジェクト: imiyu/DiscUsage
        public void TestAdded()
        {
            var discCache = new DiscCache();
            var discSpace = new DiscSpaceManager();

            discCache.Created += discSpace.Create;
            discCache.Loaded  += discSpace.Load;

            discCache.LoadAsync(testDir).Wait();
            Assert.AreEqual(discCache.drivesCache.Count, 1);
            Assert.AreEqual(discCache.drivesCache[0].Length, 40599922);
            Assert.AreEqual(discSpace.OrderedByLevel.Count, 38);
            Assert.IsTrue(discSpace.Mapping.Values.ToList()[0].Length > discSpace.MinimalLimit);
        }
コード例 #4
0
ファイル: UnitTestCache.cs プロジェクト: imiyu/DiscUsage
        public void TestDirectoriesLoaded()
        {
            var discCache = new DiscCache();

            discCache.LoadAsync(testDir).Wait();

            var rootDriveCache = discCache.drivesCache[0];

            Assert.AreEqual(rootDriveCache.Length, 40599922, "size of root directories");
            Assert.AreEqual(rootDriveCache.directories[0].Length, 16676785, "size of " + rootDriveCache.directories[0].Name);
            Assert.AreEqual(rootDriveCache.directories[1].Length, 1706954, "size of " + rootDriveCache.directories[1].Name);
            Assert.AreEqual(rootDriveCache.directories[2].Length, 22211624, "size of " + rootDriveCache.directories[2].Name);
            Assert.AreEqual(rootDriveCache.files[0].Length, 4559, "size of " + rootDriveCache.files[0].Name);
            Assert.AreEqual(40599922, 16676785 + 1706954 + 22211624 + 4559);
        }
コード例 #5
0
ファイル: UnitTestDiscSpace.cs プロジェクト: imiyu/DiscUsage
        public void TestRecursive()
        {
            var discCache = new DiscCache();
            var discSpace = new DiscSpaceManager();

            discCache.Created += discSpace.Create;
            discCache.Loaded  += discSpace.Load;

            discCache.LoadAsync(testDir).Wait();

            Assert.AreEqual(discCache.drivesCache.Count, 1);
            Assert.AreEqual(discCache.drivesCache[0].Length, 40599922);

            Assert.AreEqual(discSpace.Mapping.Values.Sum(x => x.OwnLength), 40599922);

            Assert.AreEqual(discSpace.OrderedByLevel.Count, 38);
            // Assert.AreEqual(discSpace.Root.ChildrenRecursive.Count, discSpace.Mapping.Count-1);

            Assert.AreEqual(discSpace.Root.Level, 0);
            Assert.AreEqual(discSpace.Root.Children.Count, 3);

            Assert.AreEqual(discSpace.Root.Children[0].Level, 1);
            Assert.AreEqual(discSpace.Root.Children[1].Level, 1);
            Assert.AreEqual(discSpace.Root.Children[2].Level, 1);

            Assert.AreEqual(discSpace.Root.Length, 40599922);

            Assert.AreEqual(discSpace.Root.OrderedChildren[0].ChildrenRecursive.Count, 19);
            Assert.AreEqual(discSpace.Root.OrderedChildren[1].ChildrenRecursive.Count, 15);
            Assert.AreEqual(discSpace.Root.OrderedChildren[2].ChildrenRecursive.Count, 0);

            Assert.AreEqual(discSpace.Root.OrderedChildren[0].Count, 18);
            Assert.AreEqual(discSpace.Root.OrderedChildren[1].Count, 16);
            Assert.AreEqual(discSpace.Root.OrderedChildren[2].Count, 11);

            Assert.AreEqual(discSpace.Root.OrderedChildren[0].Length, 22211624);
            Assert.AreEqual(discSpace.Root.OrderedChildren[1].Length, 16676785);
            Assert.AreEqual(discSpace.Root.OrderedChildren[2].Length, 1706954);

            Assert.AreEqual(discSpace.Root.OrderedChildren[0].LengthOfAllPreviousChildren, 0);
            Assert.AreEqual(discSpace.Root.OrderedChildren[1].LengthOfAllPreviousChildren, 22211624);
            Assert.AreEqual(discSpace.Root.OrderedChildren[2].LengthOfAllPreviousChildren, 22211624 + 16676785);

            Assert.AreEqual(discSpace.Root.OrderedChildren[0].Children.Count, 2);
            Assert.AreEqual(discSpace.Root.OrderedChildren[0].Children[0].Level, 2);
            Assert.AreEqual(discSpace.Root.OrderedChildren[0].Children[1].Level, 2);
        }
コード例 #6
0
ファイル: UnitTestCache.cs プロジェクト: imiyu/DiscUsage
        public void TestDirectoriesLoadedEvents()
        {
            CreatedEvents.Clear();
            var discCache = new DiscCache();

            discCache.Created += DiscCache_Created;
            discCache.Loaded  += DiscCache_Loaded;

            discCache.LoadAsync(testDir).Wait();

            discCache.Created -= DiscCache_Created;

            var rootDriveCache = discCache.drivesCache[0];

            Assert.AreEqual(CreatedEvents.Count, 4600);
            Assert.AreEqual(CreatedEvents.FindAll(x => x is FileCache).Sum(x => x.Length), rootDriveCache.Length);
        }
コード例 #7
0
ファイル: UnitTestCache.cs プロジェクト: imiyu/DiscUsage
        public void TestDirectoriesCached()
        {
            var discCache = new DiscCache();

            discCache.LoadAsync(testDir).Wait();
            var rootDriveCache = discCache.drivesCache[0];

            Assert.AreEqual(discCache.drivesCache.Count, 1, "number of root directories");
            Assert.AreEqual(rootDriveCache.directories.Count, 3, "number of first level directories");
            Assert.AreEqual(rootDriveCache.files.Count, 1, "number of first level files");

            Assert.AreEqual(rootDriveCache.directories[0].directories.Count, 16, "number of directories in " + rootDriveCache.directories[0].Name);
            Assert.AreEqual(rootDriveCache.directories[1].directories.Count, 11, "number of directories in " + rootDriveCache.directories[1].Name);
            Assert.AreEqual(rootDriveCache.directories[2].directories.Count, 18, "number of directories in " + rootDriveCache.directories[2].Name);

            Assert.AreEqual(rootDriveCache.directories[0].CountRecursive, 599, "CountRecursive of " + rootDriveCache.directories[0].Name);
            Assert.AreEqual(rootDriveCache.directories[1].CountRecursive, 715, "CountRecursive of " + rootDriveCache.directories[1].Name);
            Assert.AreEqual(rootDriveCache.directories[2].CountRecursive, 3284, "CountRecursive of " + rootDriveCache.directories[2].Name);

            Assert.AreEqual(rootDriveCache.CountRecursive, 3284 + 715 + 599 + 1 + rootDriveCache.files.Count, "CountRecursive of " + rootDriveCache.Name);
        }
コード例 #8
0
ファイル: UnitTestDiscSpace.cs プロジェクト: imiyu/DiscUsage
        public void TestFastLength()
        {
            CreatedDiscSpaces.Clear();
            var discCache = new DiscCache();
            var discSpace = new DiscSpaceManager();

            discSpaceManager   = discSpace;
            discCache.Created += discSpace.Create;
            discCache.Loaded  += discSpace.Load;

            discSpace.Created += DiscSpace_Created;

            discCache.LoadAsync(testDir).Wait();

            discCache.Created -= discSpace.Create;
            discSpace.Created -= DiscSpace_Created;

            foreach (var space in discSpace.OrderedByLevel)
            {
                Assert.AreEqual(space.Length, space.LengthSlow);
            }
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }