Ejemplo n.º 1
0
        public void Assignments()
        {
            var source = "void main() { a = 123; b=80; }";

            var fixture = new MachineFixture();

            fixture.Run(source);
            fixture.GetReferenceValue("a").Should().Be(123);
            fixture.GetReferenceValue("b").Should().Be(80);
        }
Ejemplo n.º 2
0
        public void DoWhile_SentenceIsExecutedOnce()
        {
            var source = "void main() { int a=0; do { b = 123; } while (a < 0); }";

            var fixture = new MachineFixture();

            fixture.Run(source);

            fixture.GetReferenceValue("a").Should().Be(0);
            fixture.GetReferenceValue("b").Should().Be(123);
        }
Ejemplo n.º 3
0
        public void DoWhile()
        {
            var source = "void main() { int a=0; do { b = 123; a=a+1; } while (a < 2); }";

            var fixture = new MachineFixture();

            fixture.Run(source);

            fixture.GetReferenceValue("a").Should().Be(2);
            fixture.GetReferenceValue("b").Should().Be(123);
        }
Ejemplo n.º 4
0
        public void NestedCallsToReturn()
        {
            var source = "void main()  { a = func1(); }  int func1()  { return func2(); } int func2() { return func3(); } int func3()  { return 1234; }";

            var fixture = new MachineFixture();

            fixture.Run(source);

            fixture.GetReferenceValue("a").Should().Be(1234);
        }
Ejemplo n.º 5
0
        public void WhileStatement_WhenConditionIsMet_BlockIsExecuted()
        {
            var source = "void main() { int a=0; while (a==0) { b = 123; a=a+1; } }";

            var fixture = new MachineFixture();

            fixture.Run(source);

            fixture.GetReferenceValue("b").Should().Be(123);
        }
Ejemplo n.º 6
0
        public void OrOperation2()
        {
            var source = "void main()\n{\n\ta=5;\n\tif (a==12 || a==5) \n\t{\n\t\tb=3;\n\t}\n}";

            var fixture = new MachineFixture();

            fixture.Run(source);

            fixture.GetReferenceValue("b").Should().Be(3);
        }
Ejemplo n.º 7
0
        public void Fibonacci()
        {
            var n      = 12;
            var result = 89;

            var source  = $"void main()  {{int first;int second;int next;int c; int n; n = {n}; first = 0; second = 1;   for (c = 0; c<n ;c=c+1) {{  if ( c < 2 )  {{      next = c;  }}      if ( c > 1)     {{   next = first + second;         first = second;   second = next;  }}       }} }}";
            var fixture = new MachineFixture();

            fixture.Run(source);
            fixture.GetReferenceValue("next").Should().Be(result);
        }