public void NoArgs(
     string command,
     FilePath path,
     CommandStringConstructor sut)
 {
     sut.Get(command, path)
     .Should().Be(
         $"{command} \"{path}\"");
 }
 public void PutsInQuotes(
     string command,
     FilePath path,
     string args,
     CommandStringConstructor sut)
 {
     sut.Get(command, path, args)
     .Should().Contain($"\"{path.RelativePath}\"");
 }
 public void MultipleArgs(
     string command,
     FilePath path,
     string[] args,
     CommandStringConstructor sut)
 {
     sut.Get(command, path, args)
     .Should().Be(
         $"{command} \"{path}\" {string.Join(' ', args)}");
 }
 public void Typical(
     string command,
     FilePath path,
     string args,
     CommandStringConstructor sut)
 {
     sut.Get(command, path, args)
     .Should().Be(
         $"{command} \"{path}\" {args}");
 }
 public void TrimNullArgs(
     string command,
     FilePath path,
     CommandStringConstructor sut)
 {
     string?[] args = new string?[]
     {
         "Hello",
         null,
         "World"
     };
     sut.Get(command, path, args)
     .Should().Be(
         $"{command} \"{path}\" Hello World");
 }