linux-packaging-mono/mcs/tests/gtest-anontype-05.cs

61 lines
1012 B
C#
Raw Normal View History

// Tests anonymous type consolidation
using System;
using System.Collections;
public class Test
{
static string Null ()
{
return null;
}
public static int Main ()
{
var v1 = new { Name = "Scott", Age = 21 };
var v2 = new { Age = 20, Name = "Sam" };
var v3 = new { Name = Null (), Age = 33 };
if (v1.GetType () == v2.GetType ())
return 1;
if (v1.Equals (v2))
return 2;
if (v1.GetType () != v3.GetType ())
return 3;
if (!v1.Equals (v1))
return 4;
if (v1.GetHashCode () != v1.GetHashCode ())
return 5;
Console.WriteLine (v1);
Console.WriteLine (v3);
if (v1.ToString () != "{ Name = Scott, Age = 21 }")
return 6;
if (v3.ToString () != "{ Name = , Age = 33 }")
return 7;
var v4 = new {};
if (v4.ToString () != "{ }")
return 8;
var v5 = new { Foo = "Bar" };
var v6 = new { Foo = Null () };
if (v5.ToString () != "{ Foo = Bar }")
return 9;
if (v6.ToString () != "{ Foo = }")
return 10;
return 0;
}
}