public void Handle_WhenTargetPathIsChanged_SetsBinOutputPath() { var context = IWorkspaceProjectContextMockFactory.Create(); context.BinOutputPath = @"BinOutputPath"; var handler = CreateInstance(context: context); var projectChange = IProjectChangeDescriptionFactory.FromJson( @"{ ""Difference"": { ""AnyChanges"": true, ""ChangedProperties"": [ ""TargetPath"" ] }, ""After"": { ""Properties"": { ""TargetPath"": ""NewBinOutputPath"" } } }"); Handle(handler, projectChange); Assert.Equal("NewBinOutputPath", context.BinOutputPath); }
public void Handle_WhenPropertyIsChanged_CallsSetProperty() { string?nameResult = null; string?valueResult = null; var context = IWorkspaceProjectContextMockFactory.ImplementSetProperty((name, value) => { nameResult = name; valueResult = value; }); var handler = CreateInstance(context: context); var projectChange = IProjectChangeDescriptionFactory.FromJson( @"{ ""Difference"": { ""AnyChanges"": true, ""ChangedProperties"": [ ""RootNamespace"" ] }, ""After"": { ""Properties"": { ""RootNamespace"": ""value"" } } }"); Handle(handler, projectChange); Assert.Equal("RootNamespace", nameResult); Assert.Equal("value", valueResult); }
public void Handle_WhenMSBuildProjectFullPathPropertyChanged_SetsProjectFilePath() { var context = IWorkspaceProjectContextMockFactory.Create(); context.ProjectFilePath = @"ProjectFilePath"; var handler = CreateInstance(context: context); var projectChange = IProjectChangeDescriptionFactory.FromJson( @"{ ""Difference"": { ""AnyChanges"": true, ""ChangedProperties"": [ ""MSBuildProjectFullPath"" ] }, ""After"": { ""Properties"": { ""MSBuildProjectFullPath"": ""NewProjectFilePath"" } } }"); Handle(handler, projectChange); Assert.Equal(@"NewProjectFilePath", context.ProjectFilePath); }
public void OnContextReleasedAsync_NullAsContext_ThrowsArgumentNull() { var handler = CreateInstance(); var context = IProjectChangeDescriptionFactory.Create(); Assert.Throws <ArgumentNullException>("context", () => { handler.OnContextReleasedAsync((IWorkspaceProjectContext)null); }); }
public void Handle_NullAsContext_ThrowsArgumentNull() { var handler = CreateInstance(); var projectChange = IProjectChangeDescriptionFactory.Create(); Assert.Throws <ArgumentNullException>("context", () => { handler.Handle(projectChange, (IWorkspaceProjectContext)null, true); }); }
public void Handle_NullAsVersion_ThrowsArgumentNull() { var handler = CreateInstance(); var projectChange = IProjectChangeDescriptionFactory.Create(); Assert.Throws <ArgumentNullException>("version", () => { handler.Handle((IComparable)null, projectChange, true); }); }
public void Handle_NullAsVersion_ThrowsArgumentNull() { var handler = CreateInstance(); var projectChange = IProjectChangeDescriptionFactory.Create(); var logger = Mock.Of <IProjectLogger>(); Assert.Throws <ArgumentNullException>("version", () => { handler.Handle(null !, projectChange, true, logger); });
public void Handle_NullAsLogger_ThrowsArgumentNull() { var handler = CreateInstance(); var projectChange = IProjectChangeDescriptionFactory.Create(); Assert.Throws <ArgumentNullException>("logger", () => { handler.Handle(10, projectChange, true, (IProjectLogger)null); }); }
public void Handle_NullAsVersion_ThrowsArgumentNull() { var handler = CreateInstance(); var projectChange = IProjectChangeDescriptionFactory.Create(); var logger = Mock.Of <IProjectDiagnosticOutputService>(); Assert.Throws <ArgumentNullException>("version", () => { handler.Handle(null !, projectChange, new ContextState(), logger); });
public void Handle_WhenNotInitialized_ThrowsInvalidOperation() { var handler = CreateInstance(); var projectChange = IProjectChangeDescriptionFactory.Create(); var logger = Mock.Of <IProjectLogger>(); Assert.Throws <InvalidOperationException>(() => { handler.Handle(10, projectChange, true, logger); }); }
public void Handle_WhenPropertyIsNotChanged_DoesNotCallSetProperty(string input) { int callCount = 0; var context = IWorkspaceProjectContextMockFactory.ImplementSetProperty((name, value) => { callCount++; }); var handler = CreateInstance(context: context); var projectChange = IProjectChangeDescriptionFactory.FromJson(input); Handle(handler, projectChange); Assert.Equal(0, callCount); }
public void Handle_WhenMSBuildProjectFullPathPropertyNotChanged_DoesNothing() { var context = IWorkspaceProjectContextMockFactory.Create(); context.ProjectFilePath = @"ProjectFilePath"; context.DisplayName = "DisplayName"; var handler = CreateInstance(context: context); var projectChange = IProjectChangeDescriptionFactory.FromJson( @"{ ""Difference"": { ""AnyChanges"": true } }"); Handle(handler, projectChange); Assert.Equal(@"ProjectFilePath", context.ProjectFilePath); Assert.Equal(@"DisplayName", context.DisplayName); }
public void Handle_WhenMSBuildProjectFullPathPropertyChanged_SetsDisplayNameToFileNameWithoutExtension() { var context = IWorkspaceProjectContextMockFactory.Create(); var handler = CreateInstance(context: context); var projectChange = IProjectChangeDescriptionFactory.FromJson( @"{ ""Difference"": { ""AnyChanges"": true, ""ChangedProperties"": [ ""MSBuildProjectFullPath"" ] }, ""After"": { ""Properties"": { ""MSBuildProjectFullPath"": ""C:\\Project\\Project.csproj"" } } }"); Handle(handler, projectChange); Assert.Equal(@"Project", context.DisplayName); }
public void Handle_WhenMSBuildProjectFullPathPropertyChangedAndMultitargeting_IncludeDimensionValuesInDisplayName(string dimensionNames, string dimensionValues, string implicitDimensionNames, string expected) { var context = IWorkspaceProjectContextMockFactory.Create(); var implicitlyActiveDimensionProvider = IImplicitlyActiveDimensionProviderFactory.ImplementGetImplicitlyActiveDimensions(n => implicitDimensionNames.SplitReturningEmptyIfEmpty('|')); var configuration = ProjectConfigurationFactory.Create(dimensionNames, dimensionValues); var handler = CreateInstance(configuration, implicitlyActiveDimensionProvider, context); var projectChange = IProjectChangeDescriptionFactory.FromJson( @"{ ""Difference"": { ""AnyChanges"": true, ""ChangedProperties"": [ ""MSBuildProjectFullPath"" ] }, ""After"": { ""Properties"": { ""MSBuildProjectFullPath"": ""C:\\Project\\Project.csproj"" } } }"); Handle(handler, projectChange); Assert.Equal(expected, context.DisplayName); }