/// <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); }
/// <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"); }