Beispiel #1
0
        public void TryUi8Test1()
        {
            byte      test   = 0x12;
            MemoryObj memory = new MemoryObj(8);

            // 例外が起きず失敗できるか
            Assert.IsFalse(memory.TrySetUi8(10, 0), "設定できないのに,設定できてます");
            Assert.IsFalse(memory.TryGetUi8(10, out byte _), "取得できないのに,取得できてます");

            // 成功するか
            Assert.IsTrue(memory.TrySetUi8(0, 0), "設定できるのに,設定できてません");
            Assert.IsTrue(memory.TryGetUi8(0, out byte _), "取得できるのに,取得できてません");

            // 設定,取得できるか
            memory = new MemoryObj(8);
            byte result;

            if (!memory.TrySetUi8(0, test))
            {
                Assert.Fail("設定に失敗しました");
            }
            if (!memory.TryGetUi8(0, out result))
            {
                Assert.Fail("取得に失敗しました");
            }
            Assert.AreEqual(
                test,
                result,
                "取得はできたが,取得内容に差異があります");
        }
Beispiel #2
0
        public bool InitMemory(BytecodeStream mem, int start, int end)
        {
            int length = end - start;

            if (length < 0)
            {
                return(PushError("メモリの初期化失敗しました"));
            }
            for (int i = 0; i < length && i < mem.Size; ++i)
            {
                if (!_memory.TrySetUi8(start + i, mem.ReadByte()))
                {
                    return(PushError("メモリの初期化に失敗しました"));
                }
            }
            return(true);
        }