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, "取得はできたが,取得内容に差異があります"); }
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); }