public void Day20_Example1_Part2_Ok() { var lines = DailyDataUtilities.ReadLinesFromFile("Day20Example1Data.txt"); Assert.Equal(107, lines.Length); var sut = new JurassicJigsaw(); sut.ReadTiles(new List <string>(lines)); Assert.Equal(9, sut.Tiles.Count); do { sut.DoChanges(); sut.ProcessEdges(); if (sut.FindActions()) { continue; } sut.ProcessReverseMatches(); sut.FindActions(); } while (sut.Changes.Count > 0); sut.DumpEdges(); long total = sut.FindCornerTotal(); Assert.Equal(20899048083289, total); sut.MatchTiles(); Assert.NotNull(sut.StartCorner); sut.DumpTileIds(); Assert.NotNull(sut); }
public void Day20_JurassicJigsaw_Part2_Ok() { var lines = DailyDataUtilities.ReadLinesFromFile("Day20Data.txt"); Assert.Equal(1727, lines.Length); var sut = new JurassicJigsaw(); sut.ReadTiles(new List <string>(lines)); Assert.Equal(144, sut.Tiles.Count); do { sut.DoChanges(); sut.ProcessEdges(); if (sut.FindActions()) { continue; } sut.ProcessReverseMatches(); sut.FindActions(); } while (sut.Changes.Count > 0); sut.DumpEdges(); long total = sut.FindCornerTotal(); Assert.Equal(15003787688423, total); }
public void Day20_Example1_Ok() { var lines = DailyDataUtilities.ReadLinesFromFile("Day20Example1Data.txt"); Assert.Equal(107, lines.Length); var sut = new JurassicJigsaw(); sut.ReadTiles(new List <string>(lines)); Assert.Equal(9, sut.Tiles.Count); sut.ProcessEdges(); Assert.Equal(34, sut.Edges.Count); sut.ProcessMatches(); Assert.Equal(34, sut.Edges.Count); long total = sut.FindCornerTotal(); Assert.Equal(20899048083289, total); }
public void Day20_JurassicJigsaw_Part1_Ok() { var lines = DailyDataUtilities.ReadLinesFromFile("Day20Data.txt"); Assert.Equal(1727, lines.Length); var sut = new JurassicJigsaw(); sut.ReadTiles(new List <string>(lines)); Assert.Equal(144, sut.Tiles.Count); sut.ProcessEdges(); Assert.Equal(453, sut.Edges.Count); sut.ProcessMatches(); Assert.Equal(453, sut.Edges.Count); sut.DumpDoubleFalseEdges(); long total = sut.FindCornerTotal(); Assert.Equal(15003787688423, total); }