模組:RouteSequence/testcases

-- Unit tests for [[Module:RouteSequence]]. Click talk page to run tests.
local p = require('Module:UnitTests')

local GRAY_COLOR = '#717171'
 
function p:test_route_sequence()
    self:preprocess_equals_sandbox_many('{{#invoke:RouteSequence', 'route',
        {
            { -- 不带 system 的测试用例
                'stations=东环南路 ~ style=color:gray ~ 邱隘东站 ~ 宝幢站 (地铁) ~ style= ~ 邬隘站 (地铁) |system= ',
                '[[东环南路站|东环南路]]&#32;&ndash;&#32;[[邱隘东站|<span style="color:gray">邱隘东</span>]]&#32;&ndash;&#32;[[宝幢站 (地铁)|<span style="color:gray">宝幢</span>]]&#32;&ndash;&#32;[[邬隘站 (地铁)|邬隘]]'
            },
            { -- 带gray section的测试用例
                'stations=东环南路 ~ gstart ~ 邱隘东站 ~ 宝幢站 (地铁) ~ gend ~ 邬隘站 (地铁)',
                '[[东环南路站|东环南路]]&#32;&ndash;&#32;[[邱隘东站|<span style="color:' .. GRAY_COLOR .. '">邱隘东</span>]]&#32;&ndash;&#32;[[宝幢站 (地铁)|<span style="color:' .. GRAY_COLOR .. '">宝幢</span>]]&#32;&ndash;&#32;[[邬隘站 (地铁)|邬隘]]'
            },
            { -- 带原样输出的测试用例
                'stations=($高桥西$方向)#东环南路 ~ 霞浦 ~ 大运河路站!大运河路 ~ %原样输出% | system=宁波轨道交通',
                '<span class="nowrap">([[高桥西站 (宁波市)|高桥西]]方向)[[东环南路站|东环南路]]</span>&#32;&ndash;&#32;[[霞浦站 (宁波市)|霞浦]]&#32;&ndash;&#32;[[大运河路站|大运河路]]&#32;&ndash;&#32;原样输出'
            },
            { -- 预设箭头测试用例
            	'stations=\'\'北新桥\'\' ~ 东直门 ~ 三元桥 ~ sep=%rarrow% ~ 3号航站楼 ~ 2号航站楼 ~ 返回#三元桥',
            	'\'\'[[北新桥站|北新桥]]\'\'&#32;&ndash;&#32;[[东直门站|东直门]]&#32;&ndash;&#32;[[三元桥站|三元桥]]&#32;→&#32;[[3号航站楼站|3号航站楼]]&#32;→&#32;[[2号航站楼站|2号航站楼]]&#32;→&#32;<span class="nowrap">返回[[三元桥站|三元桥]]</span>'
            },
            { -- 带较为复杂主支线的测试用例
                'stations=blstart ~ blstart ~ 中宅 ~ 穿山港 ~ blline ~ 梅山站 (宁波市) ~ blend ~ 柴桥 ~ blline ~ 北仑港 ~ 北仑 ~ blend ~ 大碶站 (铁路) ' ..
                '~ g邬隘站 (铁路)g ~ 宝幢站 (铁路) ~ blstart=center ~ 宁波 ~ 庄桥站 (铁路) ~ blline ~ 镇海西 ~ blend ~ 宁波北 ~ 蜀山 ~ blstart ~ 余姚 ~ blline ~ 大洋山 ~ blend',
                
                '<div style="display:inline-block; text-align: right; vertical-align:middle;"><div style="display:inline-block; text-align: right; vertical-align:middle;">' .. 
                '[[中宅站|中宅]]&#32;&ndash;&#32;[[穿山港站|穿山港]]<br />[[梅山站 (宁波市)|梅山]]</div>&#32;&gt;&#32;[[柴桥站|柴桥]]<br />[[北仑港站|北仑港]]&#32;&ndash;&#32;[[北仑站|北仑]]</div>' ..
                '&#32;&gt;&#32;[[大碶站 (铁路)|大碶]]&#32;&ndash;&#32;[[邬隘站 (铁路)|<span style="color:' .. GRAY_COLOR .. '">邬隘</span>]]&#32;&ndash;&#32;[[宝幢站 (铁路)|宝幢]]&#32;&lt;&#32;' ..
                '<div style="display:inline-block; text-align: center; vertical-align:middle;">[[宁波站|宁波]]&#32;&ndash;&#32;[[庄桥站 (铁路)|庄桥]]<br />[[镇海西站|镇海西]]</div>&#32;&gt;&#32;[[宁波北站|宁波北]]' ..
                '&#32;&ndash;&#32;[[蜀山站|蜀山]]&#32;&lt;&#32;<div style="display:inline-block; text-align: left; vertical-align:middle;">[[余姚站|余姚]]<br />[[大洋山站|大洋山]]</div>'
            },
            { -- 自动关闭末尾的支线
                'stations=小洋江 ~ 塘溪 ~ 咸祥 ~ blstart ~ 瞻岐 ~ 昆亭 ~ blline ~ 贤庠 ~ 南部新城 ~ 大目湾 ~ blend ~ line ~ 前湾新城 ~ 坎墩 ~ blstart ~ 横河 ~ 余姚北站 ~ blline ~ 观海卫 ~ 龙山 ~ line ~ 莼湖 ~ 裘村 ~ 松岙 ~ 咸祥',
                
                '[[小洋江站|小洋江]]&#32;&ndash;&#32;[[塘溪站|塘溪]]&#32;&ndash;&#32;[[咸祥站|咸祥]]&#32;&lt;&#32;<div style="display:inline-block; text-align: left; vertical-align:middle;">[[瞻岐站|瞻岐]]&#32;&ndash;&#32;[[昆亭站|昆亭]]' ..
                '<br />[[贤庠站|贤庠]]&#32;&ndash;&#32;[[南部新城站|南部新城]]&#32;&ndash;&#32;[[大目湾站|大目湾]]</div>' ..
                '<br />[[前湾新城站|前湾新城]]&#32;&ndash;&#32;[[坎墩站|坎墩]]&#32;&lt;&#32;<div style="display:inline-block; text-align: left; vertical-align:middle;">[[横河站|横河]]&#32;&ndash;&#32;[[余姚北站|余姚北]]' ..
                '<br />[[观海卫站|观海卫]]&#32;&ndash;&#32;[[龙山站|龙山]]</div>' ..
                '<br />[[莼湖站|莼湖]]&#32;&ndash;&#32;[[裘村站|裘村]]&#32;&ndash;&#32;[[松岙站|松岙]]&#32;&ndash;&#32;[[咸祥站|咸祥]]'
            },
        }
    )
end
 
return p