ExcelCoordinateConversion.Tests.ps1

Describe "ConvertFrom-ExcelCellCoordinate Tests" {

    Context "Testing ConvertLettersToColumnNumber function" {
        It "Converts single letter A to 1" {
            ConvertLettersToColumnNumber -letters 'A' | Should -Be 1
        }

        It "Converts double letters AA to 27" {
            ConvertLettersToColumnNumber -letters 'AA' | Should -Be 27
        }

        It "Converts triple letters ABC to 731" {
            ConvertLettersToColumnNumber -letters 'ABC' | Should -Be 731
        }
    }

    Context "Testing ConvertFrom-ExcelCellCoordinate function" {
        It "Converts A2 to Column 1, Row 2" {
            $result = ConvertFrom-ExcelCellCoordinate -InputObject "AA2"
            $result.Column | Should -Be 1
            $result.Row | Should -Be 2
        }

        It "Converts DDDDDDDDDD1 to its respective Column and Row numbers" {
            $result = ConvertFrom-ExcelCellCoordinate -InputObject "DDDDDDDDDD1"
            $result.Column | Should -Be 288230376151711744
            $result.Row | Should -Be 1
        }

        It "Returns Column 0, Row 0 for input not matching pattern" {
            $result = ConvertFrom-ExcelCellCoordinate -InputObject "1A2"
            $result.Column | Should -Be 0
            $result.Row | Should -Be 0
        }
    }
}