public void TestProperCalculation() { Assert.AreEqual(2, FuelCounterUpper.ProperCalculateForMass(12)); Assert.AreEqual(2, FuelCounterUpper.ProperCalculateForMass(14)); Assert.AreEqual(966, FuelCounterUpper.ProperCalculateForMass(1969)); Assert.AreEqual(50346, FuelCounterUpper.ProperCalculateForMass(100756)); }
public void TestNaiveCalculation() { Assert.AreEqual(2, FuelCounterUpper.NaiveCalculateForMass(12)); Assert.AreEqual(2, FuelCounterUpper.NaiveCalculateForMass(14)); Assert.AreEqual(654, FuelCounterUpper.NaiveCalculateForMass(1969)); Assert.AreEqual(33583, FuelCounterUpper.NaiveCalculateForMass(100756)); }
public void FuelCounterUpper_CalculateFuelSum_TotalEqualsExpected(IEnumerable <int> testmasses, int expected) { //Arrange var counter = new FuelCounterUpper(); //Act int result = counter.CalculateFuelSum(testmasses); //Assert Assert.Equal(expected, result); }
public void FuelCounterUpper_CalculateFuel_TotalEqualsExamples(int testmass, int expected) { //Arrange var counter = new FuelCounterUpper(); //Act int result = counter.CalculateFuel(testmass); //Assert Assert.Equal(expected, result); }
public void Day01Part2_TestSolution() { string[] masses = DayDataUtilities.ReadLinesFromFile("day01.txt"); long totalFuel = 0; long mass; long fuel; foreach (var smass in masses) { mass = long.Parse(smass); fuel = FuelCounterUpper.FuelFuelCalculator(mass); totalFuel += fuel; } Assert.Equal(5175499, totalFuel); }
static void DayOne() { var masses = File .ReadLines("./Data/massesForMyModules.txt") .Select(m => double.TryParse(m, out var mass) ? mass : 0) .Where(m => m > 0) .ToList(); var result = FuelCounterUpper.CalculateFuelForMasses(masses); var resultIncludingGasMass = FuelCounterUpper.CalculateFuelForMasses(masses, true); Console.WriteLine( $"The total fuel required for all the modules for my ship is {result}" ); Console.WriteLine( $"The total fuel required for all the modules (including gas mass) for my ship is {resultIncludingGasMass}" ); }
static void Main(string[] args) { Console.WriteLine("Please enter day to execute:"); string input = Console.ReadLine().ToUpper(); Dictionary <string, Func <string> > days = new Dictionary <string, Func <string> >() { ["1A"] = () => { var ints = File.ReadAllText("files/day01/input_day01.txt").Split('\n').Select(x => int.Parse(x)); var counter = new FuelCounterUpper(); int result = counter.CalculateFuelSum(ints); return($"Total fuel is: {result}"); }, ["1B"] = () => { var ints = File.ReadAllText("files/day01/input_day01.txt").Split('\n').Select(x => int.Parse(x)); var checker = new RocketEquationDoubleChecker(); int result = checker.CalculateRocketEquationFuelSum(ints); return($"Total fuel is: {result}"); }, ["2A"] = () => { var program = new IntcodeProgram(File.ReadAllText("files/day02/input_day02_modified.txt")); var interpreter = new IntcodeInterpreter(); interpreter.Execute(program, true); return($"Position 0: {program.Program[0]}"); }, ["2B"] = () => { string defaultInput = File.ReadAllText("files/day02/input_day02.txt"); var interpreter = new IntcodeInterpreter(); int output = -1; for (int noun = 0; noun <= 99; noun++) { for (int verb = 0; verb <= 99; verb++) { var program = new IntcodeProgram(defaultInput); program.Program[1] = noun; program.Program[2] = verb; interpreter.Execute(program, false); if (program.Program[0] == 19690720) { output = 100 * noun + verb; } } } return($"Output : {output}"); }, }; if (!days.ContainsKey(input)) { Console.WriteLine("Invalid input! Must be a supported day of advent. Aborting."); Console.ReadKey(); return; } string finalOutput = days[input](); Console.WriteLine(finalOutput); Console.ReadLine(); }
public void Calculates_Correct_Fuel_Including_Gas_Mass(double[] masses, int expectedFuel) { Assert.Equal(expectedFuel, FuelCounterUpper.CalculateFuelForMasses(masses, true)); }
public void Calculates_Correct_Fuel_For_Many_Masses(double[] masses, int expectedFuel) { Assert.Equal(expectedFuel, FuelCounterUpper.CalculateFuelForMasses(masses)); }
public void SolvePart2() { Assert.Equal( 4954710, FuelCounterUpper.Count("../../../input/day_01.txt", FuelCalculator.CalculateRecursive)); }
public void SolvePart1() { Assert.Equal( 3305041, FuelCounterUpper.Count("../../../input/day_01.txt", FuelCalculator.Calculate)); }
public void TestProperCalculationSum() { Assert.AreEqual(51316, FuelCounterUpper.ProperCalculateForMass(new int[] { 12, 14, 1969, 100756 })); }
public void TestNaiveCalculationSum() { Assert.AreEqual(34241, FuelCounterUpper.NaiveCalculateForMass(new int[] { 12, 14, 1969, 100756 })); }
public void Day01Part2_TestCases(long mass, long expectedFuel) { long actualFuel = FuelCounterUpper.FuelFuelCalculator(mass); Assert.Equal(expectedFuel, actualFuel); }