public void VirtualMemoryTest_ReadStringLines_InvalidHexAddress()
        {
            string[] lines = FileManager.Instance.ToReadFile(machineCodeFile);

            Assert.IsNotNull(lines);

            VirtualMemory vm = new VirtualMemory(lines);

            vm.GetContentsInHex("1194");
        }
Example #2
0
        private string GetPrettyInstruction(IMCInstruction instruction)
        {
            if (instruction == null)
            {
                return("");
            }

            string addressHex = UnitConverter.IntToHex(instruction.InstructionAddressDecimal, defaultWidth: 3);

            string contentHex = VirtualMemory.GetContentsInHex(instruction.InstructionAddressDecimal) +
                                VirtualMemory.GetContentsInHex(instruction.InstructionAddressDecimal + 1);

            return($"{addressHex}: {contentHex}: {instruction.ToString()}");
        }
        public void VirtualMemoryTest_ReadStringLines_Success()
        {
            string[] expectedLines =
            {
                //  evenAddress, oddAddress
                //   0     1
                "a8", "06",
                //    2     3
                "05", "07",
                "00", "00",
                "01", "02",
                "02", "03",
                "c9", "40",
                "a8", "12",
                "1a", "04",
                "a8", "16",
                "19", "04",
                "0b", "08",
                "a8", "16"
            };

            string[] lines = FileManager.Instance.ToReadFile(machineCodeFile);

            Assert.IsNotNull(lines);

            VirtualMemory vm = new VirtualMemory(lines);

            // complete VirtualMemery
            Console.WriteLine(vm);

            for (int i = 0; i < expectedLines.Length; i++)
            {
                Console.WriteLine($"Expected: {expectedLines[i]}, Result: {vm.GetContentsInHex(i)}");

                Assert.AreEqual(expectedLines[i], vm.GetContentsInHex(i));
            }
        }
        public void VirtualMemoryTest_ReadStringLines_ValidHexAddress()
        {
            string[] lines = FileManager.Instance.ToReadFile(machineCodeFile);

            Assert.IsNotNull(lines);

            VirtualMemory vm = new VirtualMemory(lines);

            string expected = "02";

            string result = vm.GetContentsInHex("07");

            Assert.AreEqual(expected, result);

            Console.WriteLine($"Expected: {expected}, Result: {result}");
        }