package adventofcode

import "testing"

var inp16 = []string{
	`.|...\....`,
	`|.-.\.....`,
	`.....|-...`,
	`........|.`,
	`..........`,
	`.........\`,
	`..../.\\..`,
	`.-.-/..|..`,
	`.|....-|.\`,
	`..//.|....`,
}

var input16 = []string{
	`\......../......../.............\..-................||.......|.-./....|.|/................|\...-.......\\..-..`,
	`.../.........\................\.-.........\...\........................./\................-......\.........|.-`,
	`-\......................../...\........................\....-.....................................|...........`,
	`|.../......\......................\/..-...|.\..............-.............../....|..../........|............\..`,
	`......../..................-....................././...................\../....................-..............`,
	`......|.....\...........|.................\................................................./........\......-.`,
	`........\...............-..........................................................\...../.../.-....\...\/....`,
	`......|......|.././............/...........................-....................................\.............`,
	`.....-......|.................|......................../...../....\..............-.........................|/.`,
	`.....\-..|................-....|......\.................|..-..-......................./.....|........-........`,
	`......../......................|....|...............|.....-\./...\\.....|...-......................-..-..|....`,
	`.................................................../....-.........-...\..............\.........\.....|.......\`,
	`/...|............./.\.................................-...\-..............|..........\................||..../.`,
	`......|...-.............................................../....../............./..\...........................`,
	`-....................................\.../.....................-.../.......\.................-................`,
	`....../......\-......|..-..............-.................\....../..\..|..\.............................../....`,
	`............../............../.........|.......\./..............|\...-|......../..../....-.........--..../..-.`,
	`..\............|..\.................\........|.\......................\../.....-.....//.......................`,
	`\.......|......./........-.......||........-..........||..|.............\.\..-......\......../................`,
	`...........\.............|...-...........|.\-\...................|...................\.......|................`,
	`.........../....\.........-/........\../../.................................\................|/...............`,
	`/.....\..\....-.............................|.|..............-....|....-........../........./.................`,
	`..|...../....../.....\................./........../.....|.....................-../......./...-.............-..`,
	`..-.../............./...-...|.../........|.................---...........-..-......\.......-..................`,
	`......./......|..........-........\...........\..-./..........................................\.\.............`,
	`................/......................../.|.....\........|.-..|...|.........-.|..-......................\....`,
	`.........................-..........||...............-..-...................\..../.............|....\.|.......`,
	`.\..........................-....-...-.....................................|............\/............-.|..\/.`,
	`...-...............-.........................-..\||.............\..../....../............\.-.....\............`,
	`\\......../............................/..........|........................................-....-...|.........`,
	`......\|.........\.....-/|................|....-.\......|-.\.........................|...................../..`,
	`.\..........-..........................\........../.|.................|/..........|..|.....\....-........../..`,
	`/..|.|.|............................/...|..............|.................../...../.\\/...............-..-.....`,
	`..\.............|........................................-.................././...........-....\..............`,
	`..............................-......../.........../....|.............\.......|.....|.............-...........`,
	`....\|.............../................................\.|...../-.............\/.-..../..........-.............`,
	`.........|...............\................\........-...\..\............/......./......-............|..|.../...`,
	`..../.....-..../...-...\...............|..................|...................................-........\......`,
	`.............-...........-...........\....../.....\/......../..........\.................//.-.................`,
	`.....................-.|....|...-..........\...........-....-...-......|..............\.|./...................`,
	`.../\..|..........\...................|........../..............|\.............\..............|\-........\....`,
	`....................-............|............./.|/....-....\....-..................\./...\...\...............`,
	`.......................|...|./..............\.\......//...---....\........../..\..\..\..............\|........`,
	`....../..................../................../....................../.........|...|............-\............`,
	`.|...............-....\../-/............../......\.....-.........................../.../..-.................|.`,
	`....../...........\....../.../../......../.......|.........\........-../..-................../............../.`,
	`.\...............|.......|............|..........-....|.....\.....-......../.-.........\.-............/.....-.`,
	`..................-.......|..................-...\......../|...|....-............../.................././.-...`,
	`..............|......\.|/...-.........||.....\....|........-....-........-................../.....-.......\...`,
	`..................................-.....|...............................|......../......-........\..\../...|-.`,
	`.-..............\....|...................|....|.|........\-............/.../........../.|..................../`,
	`............|..............-............\...|..............................................\.||..-.....-......`,
	`...................|...........|......./.|..........................................\......-.../.......|.-....`,
	`..|..-............-..............\.............|.........\..../..................|............|........-...-|.`,
	`.............\......../............................||..-.|............\..........\\.../.../.|..//............/`,
	`..............................\../....-..../..|...\.................|\..|........./.................../.......`,
	`....................\...............\......\..|..-...........................\........\.../......-....-.......`,
	`.......-....................................\..-.............\...\.\.......\............||\./...............-.`,
	`.....|..\..........|......\........-...............\..........\..\......../..........\..../.\|.-....-.........`,
	`.................\...-........\...|......................./.....\......./......../.....\.-...........-........`,
	`............\..-....\.-......-...\../\.-...................|......................\..............-......../...`,
	`../......./.....\-.\.................../......\....\...../..-.....\............./...........................|\`,
	`.................\../.\..-......................\\....-...............-./-.|...|..|.|../....\..\......-...-...`,
	`........|..............|..........\-...../................//.....................................-............`,
	`|-....|......../-.\.||............|..........\\.........../....................................../-......./...`,
	`-............................../............|\...././..................-.|..........-....-..|......\....|.....`,
	`......\.-..../.............\..-............................................-.....\...|...|........|..|........`,
	`.....--..|........||.-...///.....................................\......|.................\......../.-..\.....`,
	`......\....|.................../../..|/.............|........................-...........|.....\..............`,
	`./....-./..|..................\......\.\........./\|........................................./.......-...../..`,
	`.....|.......|-............./.|.............-........-................/........................-..|.\.........`,
	`../............|......|...........-..........\....|........................../..|............................/`,
	`..../...........|...............\.........|...|....|.............\...............-..|.....|.-.-.........\.|...`,
	`.............|..|....|...........................\.........||/-..-.\............\.......\../..............|...`,
	`.../\......|....//.....................-.../....................../............./|............................`,
	`.....-.-......|............\........-.........\.../.\............./....|.....\...-..|......./......\.....\/./.`,
	`......\/................../.............../....|.........-................-...|..../........-......./......|..`,
	`..-.|...................|...............................\.....................................................`,
	`.........\.....-\|.-|.........../..........................................\............./................/...`,
	`......|........\..|................\.........../....\........\.................\......\..............\........`,
	`\|................/......../.....\..........-..|.......-..............|...-............-................/\...\`,
	`\....|.........|........\....\......\...-....../..................\..............\......-.....................`,
	`......\.......\....................-......../.|.................|..........\..................|....-|.....|\..`,
	`.../.....................\......\.........\.............|.-.........\........\......................\.........`,
	`........|......-..../............\\......-..........|...|/..............................|\....|.........\.....`,
	`....|........../............/.|..../....................................-.-...............-....-..............`,
	`............/......................................|...\..|.......................|.............../...........`,
	`......././/......-............................../.........\.-...-........../................/...-........-|...`,
	`./....-.|.........|..||.................................\............../.................../.............-....`,
	`...-/......./\....../\...|......-...........-...-.....-.-.|........................./................./.......`,
	`.........../.....................................\.........|.\............./.......................-.....|../.`,
	`..../..-........../.\.........|........................................./......./...............\.............`,
	`.....\............./............-..../-...\.\..../....................................../.............-.......`,
	`......./........-......-........../.|/.............../.....................-\..............................\..`,
	`......../....................-..............-..|.........\..................../........../....|.\.\...........`,
	`.........................../.|......................-..............-..............\.......\...................`,
	`.-............./|.........\......-.............../.../......\......../....\.............-...\.\.-.....-.......`,
	`-............./..--....\\...\..-.|..........-.\-.\./.................||....-.....|.-.../....\.................`,
	`.........-|-......-........................-.....\...............-.../.......................-|..|..../.......`,
	`.....|....\\........./.\.....|.-.\|........-..../.........../...............\...|.../|......|.................`,
	`....-................\...................../.\.\..|....-.|..........................\.....-...|.....\.........`,
	`.................................\...........................\.........../.-\............|......-..........\..`,
	`/......|............................|....................|...............-..............|.-......./....../....`,
	`|...|.........-..-...-.................|................../...|.......................\.......|./.............`,
	`...../.....|.....|............................/......-..........\.............\.//............................`,
	`..................-.-.\..........-...\..|......-................./...-.....................-..-..\...........\`,
	`..................\./-................\....|........................................-|........................`,
	`.................\...-.................-........./.......................-..........-................\........`,
	`.|../../................/.....|.............|.........................-..............\/..........|...........|`,
	`...........-.....\............./.......|.............|...../\-....-...../...\...\..............-|......\.\/.\.`,
}

func TestDay16Part1(t *testing.T) {
	expectedRes := 7482
	if res := day16Part1(input16); res != expectedRes {
		t.Errorf("expected res is %v,what we get is %v", expectedRes, res)
	}
}
