Help flags return expected exit code  Source: ArgumentParsingTests.cs line 83  Duration: < 1 ms Message:  Assert.Equal() Failure: Values differ Expected: 1 Actual: 0 Stack Trace:  ArgumentParsingTests.Run_HelpFlag_ReturnsExpectedCode() line 89 RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)  Help commands return app error (1)  Source: ExitCodeTests.cs line 171  Duration: < 1 ms Message:  Assert.Equal() Failure: Values differ Expected: 1 Actual: 0 Stack Trace:  ExitCodeTests.Run_HelpCommands_ReturnAppError() line 177 RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)   Invalid target format returns app error (1)  Source: ExitCodeTests.cs line 141  Duration: 2 ms Message:  Assert.Equal() Failure: Values differ Expected: 1 Actual: 2 Stack Trace:  ExitCodeTests.Run_InvalidTargetFormat_ReturnsAppError() line 161 RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)  Successful conversion returns exit code 0  Source: ExitCodeTests.cs line 73  Duration: 2 ms Message:  Expected exit 0 for valid CSV conversion but got 2. Output: Args: input='C:\Users\Danis\AppData\Local\Temp\GisConverter.ExitCodeTests\7a7ea9b32b644d129a4486206da1a1f7\success.csv', format='Csv', output='C:\Users\Danis\AppData\Local\Temp\GisConverter.ExitCodeTests\7a7ea9b32b644d129a4486206da1a1f7\out', temp='C:\Users\Danis\AppData\Local\Temp\GisConverter.ExitCodeTests\7a7ea9b32b644d129a4486206da1a1f7\temp', logPath='', logLevel='' ❌ Conversion failed. 2025-12-18T14:21:44.0780853+02:00 (Local) | 2025-12-18T12:21:44.0780853Z (UTC) Unexpected error: Evaluation limit exceeded: 15 files per hour. Stack Trace:  ExitCodeTests.Run_SuccessfulConversion_ReturnsZero() line 100 RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)  Logging with invalid path prints warning to stderr  Source: LoggingTests.cs line 103  Duration: 86 ms Message:  Assert.Contains() Failure: Sub-string not found String: "" Not found: "warning: logging disabled" Stack Trace:  LoggingTests.Run_WithInvalidLogPath_PrintsWarningToStderr() line 127 RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)  CSV to GeoJSON produces valid JSON  Source: OutputValidationTests.cs line 86  Duration: 8 ms Message:  Conversion failed: Args: input='C:\Users\Danis\AppData\Local\Temp\GisConverter.ValidationTests\739f8c90db6d4c30bb2a636ff655131c\points.csv', format='GeoJson', output='C:\Users\Danis\AppData\Local\Temp\GisConverter.ValidationTests\739f8c90db6d4c30bb2a636ff655131c\out', temp='C:\Users\Danis\AppData\Local\Temp\GisConverter.ValidationTests\739f8c90db6d4c30bb2a636ff655131c\temp', logPath='', logLevel='' ❌ Conversion failed. 2025-12-18T14:21:43.9122722+02:00 (Local) | 2025-12-18T12:21:43.9122722Z (UTC) Unexpected error: Evaluation limit exceeded: 15 files per hour. Stack Trace:  OutputValidationTests.Run_CsvToGeoJson_ProducesValidJson() line 109 RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)