示例#1
0
        /// <summary>Zad C</summary>
        public void DeserializedIsSameInstance()
        {
            SerializableSingleton serializedSingleton = SerializableSingleton.Instance;
            SerializableSingleton deserializedSingleton;

            using (var fileStream = new FileStream("SerializableSingleton.dat", FileMode.Create))
            {
                var formatter = new BinaryFormatter();
                formatter.Serialize(fileStream, serializedSingleton);

                fileStream.Position   = 0;
                deserializedSingleton = (SerializableSingleton)formatter.Deserialize(fileStream);
            };

            Assert.AreSame(serializedSingleton, deserializedSingleton);
        }
示例#2
0
        /// <summary>Zad C</summary>
        public void SerializableSingletonStoreState()
        {
            SerializableSingleton serializedSingleton = SerializableSingleton.Instance;
            SerializableSingleton deserializedSingleton;

            serializedSingleton.TestData = "Before serialization";

            using (var fileStream = new FileStream("SerializableSingleton.dat", FileMode.Create))
            {
                var formatter = new BinaryFormatter();
                formatter.Serialize(fileStream, serializedSingleton);

                serializedSingleton.TestData = "After serialization";

                fileStream.Position   = 0;
                deserializedSingleton = (SerializableSingleton)formatter.Deserialize(fileStream);
            };

            Assert.AreEqual(deserializedSingleton.TestData, "Before serialization");
        }