Esempio n. 1
0
        public void TryDeserializeFromNotExistsDirectory()
        {
            var fileSystem = new MockFileSystem();
            var serializer = new BinarySearchTreePersistable <int, int>(fileSystem);

            Assert.ThrowsException <DirectoryNotFoundException>(() => serializer.Deserialize("binary_search_tree.dat"));
        }
Esempio n. 2
0
        public void TrySerializeAndDeserializeSuccess()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.Directory.CreateDirectory(Directory.GetCurrentDirectory());
            string path = Path.Combine(Directory.GetCurrentDirectory(), "binary_search_tree.dat");

            var serializer = new BinarySearchTreePersistable <int, int>(fileSystem);

            serializer.Serialize(path, tree);

            Assert.IsTrue(fileSystem.FileExists(path));

            var treeDeserialized = (BinaryTree <int, int>)serializer.Deserialize(path);

            Assert.IsTrue(treeDeserialized.ContainsKey(1) &&
                          treeDeserialized.ContainsKey(3) &&
                          treeDeserialized.Count == 9);

            var expected = new List <int>()
            {
                8, 3, 1, 6, 4, 7, 10, 14, 13
            };
            var actual     = new List <int>();
            var enumerator = treeDeserialized.GetEnumerator();

            while (enumerator.MoveNext())
            {
                actual.Add(enumerator.Current.Key);
            }
            CollectionAssert.AreEqual(expected, actual);
        }
Esempio n. 3
0
        public void TryDeserializeFromNotExistsFile()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.Directory.CreateDirectory(Directory.GetCurrentDirectory());
            string pathNotExists = Path.Combine(Directory.GetCurrentDirectory(), "file_not_exists.dat");

            var serializer = new BinarySearchTreePersistable <int, int>(fileSystem);

            Assert.ThrowsException <FileNotFoundException>(() => serializer.Deserialize(pathNotExists));
        }
Esempio n. 4
0
        public void TrySerializeNullTree()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.Directory.CreateDirectory(Directory.GetCurrentDirectory());
            string path = Path.Combine(Directory.GetCurrentDirectory(), "binary_search_tree.dat");

            var serializer = new BinarySearchTreePersistable <int, int>(fileSystem);

            Assert.ThrowsException <ArgumentNullException>(() => serializer.Serialize(path, null));
        }
Esempio n. 5
0
        public void TrySerializeAndDeserializeEmptyTree()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.Directory.CreateDirectory(Directory.GetCurrentDirectory());
            string path = Path.Combine(Directory.GetCurrentDirectory(), "binary_search_tree.dat");

            var serializer = new BinarySearchTreePersistable <int, int>(fileSystem);

            serializer.Serialize(path, new BinaryTree <int, int>());

            Assert.IsTrue(fileSystem.FileExists(path));

            var treeDeserialized = (BinaryTree <int, int>)serializer.Deserialize(path);

            Assert.IsTrue(treeDeserialized.Count == 0);
        }