public void ParsesInput() { var subject = new Day7Solution(); var result = subject.Parse(new List <string> { "Step C must be finished before step A can begin.", "Step C must be finished before step F can begin.", "Step A must be finished before step B can begin.", "Step A must be finished before step D can begin.", "Step B must be finished before step E can begin.", "Step D must be finished before step E can begin.", "Step F must be finished before step E can begin.", }); result.Should().BeEquivalentTo(new Dictionary <string, List <string> > { { "C", new List <string>() }, { "A", new List <string> { "C" } }, { "B", new List <string> { "A" } }, { "D", new List <string> { "A" } }, { "F", new List <string> { "C" } }, { "E", new List <string> { "B", "D", "F" } }, }); }
public void DeterminesBuildTime() { var subject = new Day7Solution(); int result = subject.SolvePart2(2, 0, new Dictionary <string, List <string> > { { "C", new List <string>() }, { "A", new List <string> { "C" } }, { "B", new List <string> { "A" } }, { "D", new List <string> { "A" } }, { "F", new List <string> { "C" } }, { "E", new List <string> { "B", "D", "F" } }, }); result.Should().Be(15); }
public void GeneratesBuildOrder() { var subject = new Day7Solution(); var result = subject.SolvePart1(new Dictionary <string, List <string> > { { "C", new List <string>() }, { "A", new List <string> { "C" } }, { "B", new List <string> { "A" } }, { "D", new List <string> { "A" } }, { "F", new List <string> { "C" } }, { "E", new List <string> { "B", "D", "F" } }, }); result.Should().Be("CABDFE"); }
public void ShouldGetTheTotalNumberOfBagsContainedInBag() { var mockData = new List <string>() { "shiny gold bags contain 2 dark red bags.", "dark red bags contain 2 dark orange bags.", "dark orange bags contain 2 dark yellow bags.", "dark yellow bags contain 2 dark green bags.", "dark green bags contain 2 dark blue bags.", "dark blue bags contain 2 dark violet bags.", "dark violet bags contain no other bags.", }; var autoMocker = new AutoMoqer(); _fileReaderMock.Setup(f => f.ReadFileToStringArray(It.IsAny <string>())).Returns(mockData); _solution = new Day7Solution(_fileReaderMock.Object); var number = _solution.GetNumberOfBagsInsideBag("shiny gold") - 1; Assert.AreEqual(number, 126); }
public void InIt() { _mockData = new List <string>() { "light red bags contain 1 bright white bag, 2 muted yellow bags.", "dark orange bags contain 3 bright white bags, 4 muted yellow bags.", "bright white bags contain 1 shiny gold bag.", "muted yellow bags contain 2 shiny gold bags, 9 faded blue bags.", "shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags.", "dark olive bags contain 3 faded blue bags, 4 dotted black bags.", "vibrant plum bags contain 5 faded blue bags, 6 dotted black bags.", "faded blue bags contain no other bags.", "dotted black bags contain no other bags." }; var autoMocker = new AutoMoqer(); _fileReaderMock = autoMocker.GetMock <IFileReader>(); _fileReaderMock.Setup(f => f.ReadFileToStringArray(It.IsAny <string>())).Returns(_mockData); _solution = new Day7Solution(_fileReaderMock.Object); }