public void SerializableDictionaryTest_Invalid_Encoding()
        {
            //arrange

            var target = new Dictionary<string, string>()
                             {
                                 { "Name", "☃ ☁ ☠" },
                                 { "Email", "☢ ☥ ☺" }
                             };

            DictionaryExtensions.DefaultFileEncoding = Encoding.ASCII;

            //act
            var file = new FileInfo(Path.Combine(Environment.CurrentDirectory, "SerializedDictionary.txt"));
            target.SaveToDisk(file);

            //assert
            file.Refresh();
            Assert.IsTrue(file.Exists);
            var result = new Dictionary<string, string>();
            result.ReadFromDisk(file);

            //reset it
            DictionaryExtensions.DefaultFileEncoding = Encoding.UTF8;

            //with the wrong encoding this will fail!
            Assert.AreNotEqual(target["Name"], result["Name"]);
            Assert.AreNotEqual(target["Email"], result["Email"]);
        }
Exemplo n.º 2
0
        public void SerializableDictionaryTest_Invalid_Encoding()
        {
            //arrange

            var target = new Dictionary <string, string>()
            {
                { "Name", "☃ ☁ ☠" },
                { "Email", "☢ ☥ ☺" }
            };

            DictionaryExtensions.DefaultFileEncoding = Encoding.ASCII;

            //act
            var file = new FileInfo(Path.Combine(Environment.CurrentDirectory, "SerializedDictionary.txt"));

            target.SaveToDisk(file);

            //assert
            file.Refresh();
            Assert.IsTrue(file.Exists);
            var result = new Dictionary <string, string>();

            result.ReadFromDisk(file);

            //reset it
            DictionaryExtensions.DefaultFileEncoding = Encoding.UTF8;

            //with the wrong encoding this will fail!
            Assert.AreNotEqual(target["Name"], result["Name"]);
            Assert.AreNotEqual(target["Email"], result["Email"]);
        }
        static void Main(string[] args)
        {
            var animalDb = new Dictionary <Guid, Animal>(1);
            var t        = new Animal {
                Id = Guid.NewGuid(), Name = "Tiger"
            };

            animalDb.Add(t.Id, t);

            Console.WriteLine("Hit enter to serialize to binary");
            Console.ReadLine();

            //only in memory for demo
            //using(var ms = new MemoryStream())
            //{
            //    //write binary
            //    var formatter = new BinaryFormatter();
            //    formatter.Serialize(ms, animalDb);
            //    Console.WriteLine(ms.Length);
            //    //read binary
            //    ms.Seek(0, SeekOrigin.Begin);
            //    animalDb = (Dictionary<Guid,Animal>)formatter.Deserialize(ms);
            //    Console.WriteLine(animalDb.First().Value.Name);
            //}

            //Use extensions instead of memorystream
            animalDb.WriteToDisk();
            animalDb.Clear();
            animalDb = animalDb.ReadFromDisk();
            Console.ReadLine();
        }
Exemplo n.º 4
0
        public void SerializableDictionaryTest_Save_To_Disk_Read_From_Disk()
        {
            //arrange

            var target = new Dictionary <string, string>
            {
                { "Name", "Shannon Deminick" },
                { "Email", "*****@*****.**" }
            };

            //act
            var file = new FileInfo(Path.Combine(Environment.CurrentDirectory, "SerializedDictionary.txt"));

            target.SaveToDisk(file);

            //assert
            file.Refresh();
            Assert.IsTrue(file.Exists);
            var result = new Dictionary <string, string>();

            result.ReadFromDisk(file);
            Assert.AreEqual(target["Name"], result["Name"]);
            Assert.AreEqual(target["Email"], result["Email"]);
        }
        public void SerializableDictionaryTest_Save_To_Disk_Read_From_Disk()
        {
            //arrange

            var target = new Dictionary<string, string>
                             {
                                 { "Name", "Shannon Deminick" },
                                 { "Email", "*****@*****.**" }
                             };

            //act
            var file = new FileInfo(Path.Combine(Environment.CurrentDirectory, "SerializedDictionary.txt"));
            target.SaveToDisk(file);

            //assert
            file.Refresh();
            Assert.IsTrue(file.Exists);
            var result = new Dictionary<string, string>();
            result.ReadFromDisk(file);
            Assert.AreEqual(target["Name"], result["Name"]);
            Assert.AreEqual(target["Email"], result["Email"]);
        }