public void IsDispatcher_WorksAsExpected(string[] programArgs, bool expectedResult)
        {
            // Act
            var isDispatcher = DotnetToolDispatcher.IsDispatcher(programArgs);

            // Assert
            Assert.Equal(expectedResult, isDispatcher);
        }
        public void EnsureValidDispatchRecipient_ThrowsWhenDispatcherVersionIsInvalid(string[] programArgs)
        {
            // Arrange
            var expectedToolName = typeof(ProjectDependenciesCommandFactory).GetTypeInfo().Assembly.GetName().Name;

            // Act & Assert
            var exception = Assert.Throws <InvalidOperationException>(
                () => DotnetToolDispatcher.EnsureValidDispatchRecipient(ref programArgs, TestToolName));

            Assert.Equal(
                $"Could not invoke tool {expectedToolName}. Ensure it has matching versions in the project.json's 'dependencies' and 'tools' sections.",
                exception.Message);
        }
 public void EnsureValidDispatchRecipient_NoopsWhenDispatcherVersionIsValid(string[] programArgs)
 {
     // Act & Assert (does not throw)
     DotnetToolDispatcher.EnsureValidDispatchRecipient(ref programArgs, TestToolName);
 }