Пример #1
0
        public void FromInput()
        {
            var assembly     = Assembly.GetExecutingAssembly();
            var resourceName = "input-part-one.txt";

            var input            = Utilities.EmbeddedResource.Get(resourceName, assembly);
            var fuelRequirements = input.Split(Environment.NewLine)
                                   .AsParallel()
                                   .Select(value => decimal.Parse(value))
                                   .Select(mass => FuelCalculator.ByMassWithFuel(mass))
                                   .Sum();

            fuelRequirements.Should().Be(4876469);
        }
Пример #2
0
        public static void Main(string[] args)
        {
            if (args.Any(x => x.Equals("--help")))
            {
                Console.WriteLine($"Provide the path of the modules mass values file (default: `{DefaultFilePath}`)");
                Environment.Exit(Environment.ExitCode);
            }

            var modulesFilePath = args.FirstOrDefault(x => x.EndsWith(".txt")) ?? DefaultFilePath;

            var moduleMasses = File.ReadLines(modulesFilePath);

            var result = moduleMasses
                         .Select(x => FuelCalculator.CalculateForModule(int.Parse(x)))
                         .Sum();

            Console.WriteLine(result);
        }
Пример #3
0
        public void FromExample(decimal mass, decimal fuelRequirement)
        {
            var result = FuelCalculator.ByMassWithFuel(mass);

            result.Should().Be(fuelRequirement);
        }
Пример #4
0
        public void FromExample(int mass, int expectedFuelRequirements)
        {
            var fuelRequirements = FuelCalculator.ByMass(mass);

            fuelRequirements.Should().Be(expectedFuelRequirements);
        }