public void Deserialize_BeforeSerializing_Exception()
 {
     using (var subject = new DataContractJsonRoundtripSerializer <Serializable>())
     {
         Assert.That(() => subject.Deserialize(), Throws.InstanceOf <SerializationException>());
     }
 }
 public void Deserialize_BeforeSerializing_Exception()
 {
     using (var subject = new DataContractJsonRoundtripSerializer<Serializable>())
     {
         Assert.That(() => subject.Deserialize(), Throws.InstanceOf<SerializationException>());
     }
 }
 public void DataContractJsonDeserialization_OfObsoleteCurrency_DoesNotRaiseEvent(CurrencyIsoCode obsolete)
 {
     using (var serializer = new DataContractJsonRoundtripSerializer <CurrencyIsoCode>(dataContractSurrogate: new DataContractSurrogate()))
     {
         serializer.Serialize(obsolete);
         Action deserializeObsolete = () => serializer.Deserialize();
         Assert.That(deserializeObsolete, Must.Not.Raise.ObsoleteEvent());
     }
 }
 public void DataContractJsonDeserialization_OfObsoleteCurrency_RaisesEvent(string threeLetterIsoCode)
 {
     using (var serializer = new DataContractJsonRoundtripSerializer <Currency>(dataContractSurrogate: new DataContractSurrogate()))
     {
         var obsolete = Currency.Get(threeLetterIsoCode);
         serializer.Serialize(obsolete);
         Action deserializeObsolete = () => serializer.Deserialize();
         Assert.That(deserializeObsolete, Must.Raise.ObsoleteEvent());
     }
 }
        public void DatacontractJsonSerialization_OfDefaultInstance_StoresAndDeserializesNoCurrency()
        {
            var @default = new Money();

            var serializer = new DataContractJsonRoundtripSerializer <Money>(dataContractSurrogate: new DataContractSurrogate());

            serializer.Serialize(@default);

            Money deserialized = serializer.Deserialize();

            Assert.That(deserialized, Must.Be.MoneyWith(0m, Currency.Xxx));
        }
        public void Deserialize_AfterSerializingSerializableType_InitialObject()
        {
            using (var subject = new DataContractJsonRoundtripSerializer<Serializable>())
            {
                var serialized = new Serializable { S = "s", D = 3m };
                subject.Serialize(serialized);

                Serializable deserialized = subject.Deserialize();

                Assert.That(deserialized, Is.Not.SameAs(serialized)
                    .And.Property("S").EqualTo("s")
                    .And.Property("D").EqualTo(3m));
            }
        }
        public void Deserialize_AfterSerializingSerializableType_InitialObject()
        {
            using (var subject = new DataContractJsonRoundtripSerializer <Serializable>())
            {
                var serialized = new Serializable {
                    S = "s", D = 3m
                };
                subject.Serialize(serialized);

                Serializable deserialized = subject.Deserialize();

                Assert.That(deserialized, Is.Not.SameAs(serialized)
                            .And.Property("S").EqualTo("s")
                            .And.Property("D").EqualTo(3m));
            }
        }