public static int Main() { TailTests t = new TailTests(); int foo = 0; Point p = new Point(); double d = 0.0; try { foo = t.ManyArgs(100,0,1,2,3,4,5,6,7,8,9,0); t.Test(foo == 100, "ManyArgs"); foo = 0; foo = TailTests.ManyArgsStatic(100,0,1,2,3,4,5,6,7,8,9,0); t.Test(foo == 100, "ManyArgsStatic"); foo = 0; foo = t.Sum(0,10000000); t.Test(foo == 10000000, "SumBlowStack"); foo = 0; foo = TailTests.SumStatic(0,10000000); t.Test(foo == 10000000, "SumStaticBlowStack"); p.x = 1; p.y = 2; foo = t.StructFacSum(4,p); t.Test(foo == 40 && p.x == 1 && p.y == 2,"StructShallowReg"); d = t.DoubleFacRec(5,1); t.Test(d == 120.0,"DoubleFacRec"); foo = t.fUneven(1,2,3); t.Test(foo == 16, "Uneven"); p.x = 1; p.y = 2; foo = t.StructFacSumDeep(100000,p); t.Test(foo == 200003 && p.x == 1 && p.y == 2,"StructRegDeep"); p.x = 1; p.y = 2; foo = 0; foo = TailTests.StructFacSumDeepStatic(100000,p); t.Test(foo == 200003 && p.x == 1 && p.y == 2,"StructRegDeepStatic"); p.x = 1; p.y = 2; foo = 0; foo = t.StructFacSumDeepStack(100000,0,0.0,0.9,p,1); t.Test(foo == 200003 && p.x == 1 && p.y == 2,"StructStackDeep"); p.x = 1; p.y = 2; foo = 0; foo = TailTests.StructFacSumDeepStackStatic(100000,0,0.0,0.9,p,1); t.Test(foo == 200003 && p.x == 1 && p.y == 2,"StructStackDeepStatic"); p.x = p.y = 0; p = t.StructReturnVal(100000,0); t.Test(p.x == 100000 && p.y == 200000,"StructReturnDeep"); p.x = p.y = 0; p = TailTests.StructReturnValStatic(100000,0); t.Test(p.x == 100000 && p.y == 200000,"StructReturnDeepStatic"); s_testInt = 0; t.NoArgs(); t.Test(s_testInt == 400000, "NoArgs"); s_testInt = 0; TailTests.NoArgsStatic(); t.Test(s_testInt == 400000, "NoArgsStatic"); p.x = 1; p.y = 2; s_testInt = 100000; t.SameStacksString("foo",p); t.Test(s_testInt == 0, "SameStacks"); } catch (Exception e) { Console.WriteLine("Caught Unexpected Exception"); Console.WriteLine(e.ToString()); return 1; } return t.m_failed; }
public static int Main() { TailTests t = new TailTests(); int foo = 0; Point p = new Point(); double d = 0.0; try { foo = t.ManyArgs(100, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0); t.Test(foo == 100, "ManyArgs"); foo = 0; foo = TailTests.ManyArgsStatic(100, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0); t.Test(foo == 100, "ManyArgsStatic"); foo = 0; foo = t.Sum(0, 10000000); t.Test(foo == 10000000, "SumBlowStack"); foo = 0; foo = TailTests.SumStatic(0, 10000000); t.Test(foo == 10000000, "SumStaticBlowStack"); p.x = 1; p.y = 2; foo = t.StructFacSum(4, p); t.Test(foo == 40 && p.x == 1 && p.y == 2, "StructShallowReg"); d = t.DoubleFacRec(5, 1); t.Test(d == 120.0, "DoubleFacRec"); foo = t.fUneven(1, 2, 3); t.Test(foo == 16, "Uneven"); p.x = 1; p.y = 2; foo = t.StructFacSumDeep(100000, p); t.Test(foo == 200003 && p.x == 1 && p.y == 2, "StructRegDeep"); p.x = 1; p.y = 2; foo = 0; foo = TailTests.StructFacSumDeepStatic(100000, p); t.Test(foo == 200003 && p.x == 1 && p.y == 2, "StructRegDeepStatic"); p.x = 1; p.y = 2; foo = 0; foo = t.StructFacSumDeepStack(100000, 0, 0.0, 0.9, p, 1); t.Test(foo == 200003 && p.x == 1 && p.y == 2, "StructStackDeep"); p.x = 1; p.y = 2; foo = 0; foo = TailTests.StructFacSumDeepStackStatic(100000, 0, 0.0, 0.9, p, 1); t.Test(foo == 200003 && p.x == 1 && p.y == 2, "StructStackDeepStatic"); p.x = p.y = 0; p = t.StructReturnVal(100000, 0); t.Test(p.x == 100000 && p.y == 200000, "StructReturnDeep"); p.x = p.y = 0; p = TailTests.StructReturnValStatic(100000, 0); t.Test(p.x == 100000 && p.y == 200000, "StructReturnDeepStatic"); s_testInt = 0; t.NoArgs(); t.Test(s_testInt == 400000, "NoArgs"); s_testInt = 0; TailTests.NoArgsStatic(); t.Test(s_testInt == 400000, "NoArgsStatic"); p.x = 1; p.y = 2; s_testInt = 100000; t.SameStacksString("foo", p); t.Test(s_testInt == 0, "SameStacks"); } catch (Exception e) { Console.WriteLine("Caught Unexpected Exception"); Console.WriteLine(e.ToString()); return(1); } return(t.m_failed); }