public void Update_ReturnsExpectedResult() { // Original Item var sourceInformation1 = new SourceInformation(SourceType.Filesystem, @"c:\git", true); var project1 = Helpers.CreateTestProject(); var pm1 = new ProjectMetadata(sourceInformation1, project1) { AppSettings = new List <ApplicationSetting>(), ConnectionStrings = new List <ConnectionStringSetting> { new ConnectionStringSetting { Name = "test1" } }, DatabaseInstances = new List <DatabaseInstance>(), DatabaseTypes = new List <DatabaseType>() }; // pm1 will be updated with information from pm2 var sourceInformation2 = new SourceInformation(SourceType.Filesystem, @"c:\git\dir2", true); var project2 = Helpers.CreateTestProject(); // ReSharper disable once StringLiteralTypo project2.Frameworks = new List <string> { "netcoreapp1.0" }; var pm2 = new ProjectMetadata(sourceInformation2, project2) { AppSettings = new List <ApplicationSetting> { new ApplicationSetting("name", "value") }, ConnectionStrings = new List <ConnectionStringSetting>(), DatabaseInstances = new List <DatabaseInstance>(), DatabaseTypes = new List <DatabaseType>() }; pm1.Update(pm2); Assert.That(pm1, Is.Not.Null); pm1.Should().BeEquivalentTo(pm2); }