public void Example_2c() { var program = new[] { "mask = 00000000000000000000000000000000X0XX", "mem[26] = 1" }; var init = new DockingProgramInitializerV2 { Program = program }; init.Execute(); var memAddress = init.Memory.Keys; Assert.Contains(16, memAddress); Assert.Contains(17, memAddress); Assert.Contains(18, memAddress); Assert.Contains(19, memAddress); Assert.Contains(24, memAddress); Assert.Contains(25, memAddress); Assert.Contains(26, memAddress); Assert.Contains(27, memAddress); foreach (var addr in memAddress) { Assert.Equal(1, init.Memory[addr]); } }
public void Example_2b() { var program = new[] { "mask = 000000000000000000000000000000X1001X", "mem[42] = 100" }; var init = new DockingProgramInitializerV2 { Program = program }; init.Execute(); var memAddress = init.Memory.Keys; Assert.Contains(26, memAddress); Assert.Contains(27, memAddress); Assert.Contains(58, memAddress); Assert.Contains(59, memAddress); foreach (var addr in memAddress) { Assert.Equal(100, init.Memory[addr]); } }
public void Puzzle_14B() { var init = new DockingProgramInitializerV2 { Program = PuzzleInputs.Puzzle14 }; init.Execute(); Assert.True(init.SumNonZeroMemory() > 2090634305407, "too low"); Assert.Equal(3369767240513, init.SumNonZeroMemory()); }
public void Example_2() { var program = new[] { "mask = 000000000000000000000000000000X1001X", "mem[42] = 100", "mask = 00000000000000000000000000000000X0XX", "mem[26] = 1" }; var init = new DockingProgramInitializerV2 { Program = program }; init.Execute(); Assert.Equal(208, init.SumNonZeroMemory()); }
public void Example_2d() { var program = new[] { "mask = X00000000000000000000000000000000000", "mem[1] = 1" }; var init = new DockingProgramInitializerV2 { Program = program }; init.Execute(); var memAddress = init.Memory.Keys; Assert.Contains(1, memAddress); Assert.Contains(34_359_738_369, memAddress); foreach (var addr in memAddress) { Assert.Equal(1, init.Memory[addr]); } }