Exemplo n.º 1
0
        public void SetAlternativeSuccessor_cannot_be_called_twice()
        {
            var blockBuilder = new BasicBlockGraphBuilder().GetInitialBlockBuilder();

            Assert.That(() => blockBuilder.SetAlternativeSuccessor(0), Throws.Nothing);
            Assert.That(blockBuilder.AlternativeSuccessor, Is.EqualTo(0));
            Assert.That(() => blockBuilder.SetAlternativeSuccessor(0), Throws.InvalidOperationException);
        }
Exemplo n.º 2
0
        public void SetAlternativeSuccessor_does_nothing_if_return_exists()
        {
            var blockBuilder = new BasicBlockGraphBuilder().GetInitialBlockBuilder();

            blockBuilder.AppendInstruction(Opcode.Return, 0, 0, 0);

            Assert.That(() => blockBuilder.SetAlternativeSuccessor(0), Throws.Nothing);
            Assert.That(blockBuilder.AlternativeSuccessor, Is.EqualTo(-1));
        }