public void UpdatePrimitiveList() { // Arrange var defaultSerialization = new DefaultSerialization { FormatProvider = new CultureInfo("en-US") }; var dummy = new ListDummy { Number = 0, DoubleList = new List <double> { 1.7, 2.5, 3 }, EnumList = new List <DummyEnum> { DummyEnum.ValueA, DummyEnum.Unset, DummyEnum.ValueB } }; var encoded = EntryConvert.EncodeObject(dummy, defaultSerialization); var ent = encoded.SubEntries[1]; var ent2 = encoded.SubEntries[2]; // Act encoded.SubEntries[0].Value.Current = "5"; ent.SubEntries[1].Value.Current = 12.34d.ToString(defaultSerialization.FormatProvider); var newInstance = ent.Prototypes[0].Instantiate(); newInstance.Value.Current = 133.7d.ToString(defaultSerialization.FormatProvider); ent.SubEntries.Add(newInstance); ent2.SubEntries[1].Value.Current = "ValueB"; newInstance = ent2.Prototypes[0].Instantiate(); newInstance.Value.Current = "ValueA"; ent2.SubEntries.Add(newInstance); EntryConvert.UpdateInstance(dummy, encoded, defaultSerialization); // Assert Assert.AreEqual(5, dummy.Number); Assert.AreEqual(4, dummy.DoubleList.Count); Assert.AreEqual(1.7, dummy.DoubleList[0]); Assert.AreEqual(12.34, dummy.DoubleList[1]); Assert.AreEqual(3.0, dummy.DoubleList[2]); Assert.AreEqual(133.7, dummy.DoubleList[3]); Assert.AreEqual(4, dummy.EnumList.Count); Assert.AreEqual(DummyEnum.ValueA, dummy.EnumList[0]); Assert.AreEqual(DummyEnum.ValueB, dummy.EnumList[1]); Assert.AreEqual(DummyEnum.ValueB, dummy.EnumList[2]); Assert.AreEqual(DummyEnum.ValueA, dummy.EnumList[3]); }
public void EncodeReadonlyCollection() { // Arrange var dummy = new ListDummy(); // Act var encoded = EntryConvert.EncodeObject(dummy); // Assert var readList = encoded.SubEntries[3]; Assert.AreEqual(1, readList.SubEntries.Count); Assert.IsTrue(readList.Value.IsReadOnly); Assert.IsEmpty(readList.Prototypes); }