# Fix duplicate "using StellaOps.TestKit;" statements in C# files # The pattern shows files have this statement both at top (correct) and in middle (wrong) # This script removes all occurrences AFTER the first one $ErrorActionPreference = "Stop" $srcPath = Join-Path $PSScriptRoot "..\..\src" $pattern = "using StellaOps.TestKit;" # Find all .cs files containing the pattern $files = Get-ChildItem -Path $srcPath -Recurse -Filter "*.cs" | Where-Object { (Get-Content $_.FullName -Raw) -match [regex]::Escape($pattern) } Write-Host "Found $($files.Count) files with 'using StellaOps.TestKit;'" -ForegroundColor Cyan $fixedCount = 0 $errorCount = 0 foreach ($file in $files) { try { $lines = Get-Content $file.FullName $newLines = @() $foundFirst = $false $removedAny = $false foreach ($line in $lines) { if ($line.Trim() -eq $pattern) { if (-not $foundFirst) { # Keep the first occurrence $newLines += $line $foundFirst = $true } else { # Skip subsequent occurrences $removedAny = $true } } else { $newLines += $line } } if ($removedAny) { $newLines | Set-Content -Path $file.FullName -Encoding UTF8 Write-Host "Fixed: $($file.Name)" -ForegroundColor Green $fixedCount++ } } catch { Write-Host "Error processing $($file.FullName): $_" -ForegroundColor Red $errorCount++ } } Write-Host "" Write-Host "Summary:" -ForegroundColor Cyan Write-Host " Files fixed: $fixedCount" -ForegroundColor Green Write-Host " Errors: $errorCount" -ForegroundColor $(if ($errorCount -gt 0) { "Red" } else { "Green" })