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