public void CreateStack_GivenGoodData_ReturnsExpectedResults(IEnumerable <IDevice> toStack, int expectedResult) { var sut = new DeviceStacker(); var result = sut.CreateStack(toStack); Assert.Equal(expectedResult, result); }
/// <summary> /// AdaptrStackr.Cmd entry point /// </summary> /// <param name="args">Command line arguments (not used)</param> static void Main(string[] args) { var filePath = "./input"; var reader = new FileReader(); var inputs = reader.ReadFileByLines(filePath); if (inputs.Where(input => int.TryParse(input, out var _) == false).Any()) { throw new FormatException("Could not parse the input data."); } var adapters = inputs.Select(input => new Adapter(int.Parse(input))); var stacker = new DeviceStacker(); var result = stacker.CreateStack(adapters); Console.WriteLine(result); var toCharge = new ChargeableDevice(adapters); var permutations = stacker.Permute(adapters, toCharge); Console.WriteLine(permutations); }
public void CreateStack_GivenBadData_ThrowsArgumentExceptions(IEnumerable <IDevice> toStack) { var sut = new DeviceStacker(); Assert.ThrowsAny <SystemException>(() => sut.CreateStack(toStack)); }