public void LoadsAndStartsTracking() { var pm = CreatePersistenceManager(); var fsc = new FakeSubsystemComponent(); var fs = new FakeSubsystem(fsc); pm.LoadAndStartTracking(fs); AssertAllAreDefault(fs); }
private void ChangeAll(FakeSubsystem fs) { fs.InnerDataContainer_PrivateDataFieldAcsr = "1"; fs.InnerDataContainer_PublicDataPropertyAcsr = "2"; fs.InnerDataContainer_publicDataFieldAcsr = "3"; fs.OuterDataContainer.PrivateDataFieldAcsr = "4"; fs.OuterDataContainer.PublicDataProperty = "5"; fs.OuterDataContainer.publicDataField = "6"; fs.SomeLooseStringAcsr = "7"; fs.SubsystemComponent.SomePrivateDataAcsr = "-1"; fs.SubsystemComponent.SomePublicData = "-2"; }
private void AssertAllAreDefault(FakeSubsystem fs) { Expect(fs.InnerDataContainer_PrivateDataFieldAcsr, EqualTo("privateDataField").IgnoreCase); Expect(fs.InnerDataContainer_PublicDataPropertyAcsr, EqualTo("PublicDataProperty").IgnoreCase); Expect(fs.InnerDataContainer_publicDataFieldAcsr, EqualTo("publicDataField").IgnoreCase); Expect(fs.OuterDataContainer.PrivateDataFieldAcsr, EqualTo("PrivateDataField").IgnoreCase); Expect(fs.OuterDataContainer.PublicDataProperty, EqualTo("PublicDataProperty").IgnoreCase); Expect(fs.OuterDataContainer.publicDataField, EqualTo("publicDataField").IgnoreCase); Expect(fs.SomeLooseStringAcsr, EqualTo("SomeLooseString").IgnoreCase); Expect(fs.SubsystemComponent.SomePrivateDataAcsr, EqualTo("SomePrivateData").IgnoreCase); Expect(fs.SubsystemComponent.SomePublicData, EqualTo("SomePublicData").IgnoreCase); }
private void AssertAllChangedAfterReload(FakeSubsystem fs) { Expect(fs.InnerDataContainer_PrivateDataFieldAcsr, EqualTo("1").IgnoreCase); Expect(fs.InnerDataContainer_PublicDataPropertyAcsr, EqualTo("2").IgnoreCase); Expect(fs.InnerDataContainer_publicDataFieldAcsr, EqualTo("3").IgnoreCase); Expect(fs.OuterDataContainer.PrivateDataFieldAcsr, EqualTo("4").IgnoreCase); Expect(fs.OuterDataContainer.PublicDataProperty, EqualTo("5").IgnoreCase); Expect(fs.OuterDataContainer.publicDataField, EqualTo("6").IgnoreCase); Expect(fs.SomeLooseStringAcsr, EqualTo("7").IgnoreCase); // subsystem is excluded from serialization, should be default Expect(fs.SubsystemComponent.SomePrivateDataAcsr, EqualTo("SomePrivateData").IgnoreCase); Expect(fs.SubsystemComponent.SomePublicData, EqualTo("SomePublicData").IgnoreCase); }
public void GivenReturnExisting_WhenExisiting_ReturnsExisting() { var pm = CreatePersistenceManager(); var fsc = new FakeSubsystemComponent(); var fs = new FakeSubsystem(fsc); pm.LoadAndStartTracking(fs); var newFs = new FakeSubsystem(new FakeSubsystemComponent()); var o = pm.LoadAndStartTracking(newFs, returnExistingInsteadOfException: true); Expect(o, EqualTo(fs)); }
public void WhenPending_SavesAll() { { var pm = CreatePersistenceManager(); var fsc = new FakeSubsystemComponent(); var fs = new FakeSubsystem(fsc); pm.LoadAndStartTracking(fs); ChangeAll(fs); fs.PersistibleChangesPending = true; pm.SavePending(); } { var pm = CreatePersistenceManager(); var fsc = new FakeSubsystemComponent(); var fs = new FakeSubsystem(fsc); pm.LoadAndStartTracking(fs); AssertAllChangedAfterReload(fs); } }
public void WhenNotPending_DoesNotSave() { { var pm = CreatePersistenceManager(); var fsc = new FakeSubsystemComponent(); var fs = new FakeSubsystem(fsc); pm.LoadAndStartTracking(fs); ChangeAll(fs); pm.SavePending(); } { var pm = CreatePersistenceManager(); var fsc = new FakeSubsystemComponent(); var fs = new FakeSubsystem(fsc); pm.LoadAndStartTracking(fs); AssertAllAreDefault(fs); } }