Пример #1
0
        public void MergeTest()
        {
            // File Test
            FileItem file = new FileItem();

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Created;
                e.Name = "haha";
                e.SHA1 = "11";
                e.When = DateTime.FromFileTimeUtc(1);
                file.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Created;
                e.Name = "haha";
                e.SHA1 = "11";
                e.When = DateTime.FromFileTimeUtc(2);
                file.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Created;
                e.Name = "haha";
                e.SHA1 = null;
                e.When = DateTime.FromFileTimeUtc(3);
                file.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Renamed;
                e.Name = "haha";
                e.SHA1 = null;
                e.When = DateTime.FromFileTimeUtc(4);
                file.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Changed;
                e.Name = "haha";
                e.SHA1 = "11";
                e.When = DateTime.FromFileTimeUtc(5);
                file.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Deleted;
                e.Name = "haha";
                e.SHA1 = "11";
                e.When = DateTime.FromFileTimeUtc(6);
                file.Merge(e);
            }

            FileItem dir = new FileItem();

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Created;
                e.IsDirectory = true;
                e.Name = "dir";
                e.When = DateTime.FromFileTimeUtc(1);
                dir.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Created;
                e.IsDirectory = true;
                e.Name = "dir";
                e.When = DateTime.FromFileTimeUtc(2);
                dir.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Created;
                e.IsDirectory = true;
                e.Name = "dir";
                e.When = DateTime.FromFileTimeUtc(3);
                dir.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Changed;
                e.IsDirectory = true;
                e.Name = "dir";
                e.When = DateTime.FromFileTimeUtc(4);
                dir.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Renamed;
                e.IsDirectory = true;
                e.Name = "dir2";
                e.When = DateTime.FromFileTimeUtc(5);
                dir.Merge(e);
            }

            {
                FileEvent e = new FileEvent();
                e.Type = FileEventType.Deleted;
                e.IsDirectory = true;
                e.Name = "dir2";
                e.When = DateTime.FromFileTimeUtc(6);
                dir.Merge(e);
            }
        }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="VersionControlTest" /> class.
        /// </summary>
        public VersionControlTest()
        {
            // Initialize
            if (!Directory.Exists(".Distribox"))
            {
                Directory.CreateDirectory(".Distribox");
            }

            if (!Directory.Exists(".Distribox/data"))
            {
                Directory.CreateDirectory(".Distribox/data");

            }
            if (Directory.Exists("Dir"))
            {
                Directory.Delete("Dir");
            }

            FileEvent e1 = new FileEvent();
            e1.Type = FileEventType.Created;
            e1.EventId = "1";
            e1.FileId = "1";
            e1.Name = "haha";

            FileEvent e2 = new FileEvent();
            e2.Type = FileEventType.Changed;
            e2.EventId = "2";
            e2.FileId = "1";
            e2.SHA1 = "11";
            e2.Name = "haha";
            File.WriteAllText(".Distribox/data/11", "haha");

            FileEvent e3 = new FileEvent();
            e3.Type = FileEventType.Renamed;
            e3.EventId = "3";
            e3.FileId = "1";
            e3.SHA1 = "11";
            e3.Name = "XX";

            FileEvent e4 = new FileEvent();
            e4.Type = FileEventType.Deleted;
            e4.EventId = "4";
            e4.FileId = "1";
            e4.Name = "XX";

            FileEvent e5 = new FileEvent();
            e5.Type = FileEventType.Created;
            e5.EventId = "5";
            e5.FileId = "2";
            e5.Name = "TT";

            FileEvent e6 = new FileEvent();
            e6.Type = FileEventType.Changed;
            e6.EventId = "6";
            e6.FileId = "2";
            e6.SHA1 = "11";
            e6.Name = "TT";

            FileEvent e7 = new FileEvent();
            e7.Type = FileEventType.Created;
            e7.EventId = "7";
            e7.FileId = "3";
            e7.Name = "Dir";
            e7.IsDirectory = true;
            e7.When = DateTime.FromFileTimeUtc(7);

            FileItem item1 = new FileItem();
            item1.Merge(e1);
            item1.Merge(e2);
            item1.Merge(e3);
            item1.Merge(e4);

            FileItem item2 = new FileItem();
            item2.Merge(e5);
            item2.Merge(e6);

            FileItem item3 = new FileItem();
            item3.Merge(e7);

            this.list.Add(item1);
            this.list.Add(item2);
            this.list.Add(item3);
        }