public void IfReferenceDoesntExist_NoOp()
            {
                // arrange 
                var mockProject = new Mock<IMSBuildProject>(MockBehavior.Strict);
                mockProject.Setup(p => p.ReferenceExists(It.Is<string>(s => s == "Dummy" || s == "Dummy.dll"))).Returns(false).Verifiable();

                // act
                var projectSystem = new NuGetMsBuildProjectSystem(@"C:\DummyPath\Dummy.csproj", MockGenerator.CreateMSBuildProjectFactory(mockProject.Object));
                projectSystem.RemoveReference(@"Dummy.dll");

                // assert
                mockProject.Verify();
                // MockBehavior.Strict verifies that no others are called.
            }
            public void RemovingReference_CallSaveProject()
            {
                // arrange 
                var mockProject = MockGenerator.CreateMockMSBuildProject_SaveMethodVerifiable();
                mockProject.Setup(p => p.ReferenceExists(It.Is<string>(s => s == "Dummy" || s == "Dummy.dll"))).Returns(true);
                mockProject.Setup(p => p.RemoveItem("Reference", "Dummy")).Verifiable();

                // act
                var projectSystem = new NuGetMsBuildProjectSystem(@"C:\DummyPath\Dummy.csproj", MockGenerator.CreateMSBuildProjectFactory(mockProject.Object));
                projectSystem.RemoveReference(@"Dummy.dll");

                // assert
                mockProject.Verify();
            }