public void TestNormalize() { var keep = new ImplementationPreferences { ID = "id1", UserStability = Stability.Testing }; var superfluous = new ImplementationPreferences { ID = "id2" }; var preferences = new FeedPreferences { Implementations = { keep, superfluous } }; preferences.Normalize(); preferences.Implementations.Should().BeEquivalentTo(keep); }
public void TestGetImplementationPreferences() { var preferences = new FeedPreferences(); var preferences1 = preferences["id1"]; preferences["id1"].Should().BeSameAs(preferences1, because: "Second call with same ID should return same reference"); var preferences2 = new ImplementationPreferences { ID = "id2" }; preferences.Implementations.Add(preferences2); preferences["id2"].Should().BeSameAs(preferences2, because: "Call with pre-existing ID should return existing reference"); preferences.Implementations.Should().BeEquivalentTo(preferences1, preferences2); }
[Fact] // Ensures that the class is correctly serialized and deserialized. public void TestSaveLoad() { FeedPreferences preferences1 = CreateTestFeedPreferences(), preferences2; using (var tempFile = new TemporaryFile("0install-unit-tests")) { // Write and read file preferences1.SaveXml(tempFile); preferences2 = XmlStorage.LoadXml <FeedPreferences>(tempFile); } // Ensure data stayed the same preferences2.Should().Be(preferences1, because: "Serialized objects should be equal."); preferences2.GetHashCode().Should().Be(preferences1.GetHashCode(), because: "Serialized objects' hashes should be equal."); preferences2.Should().NotBeSameAs(preferences1, because: "Serialized objects should not return the same reference."); }