public void BasicChecks()
{
Assert.AreEqual(null, GSymbol.Get(null));
Assert.AreEqual(0, GSymbol.Get("").Id);
Assert.AreEqual(GSymbol.Empty, GSymbol.GetById(0));
Symbol foo = GSymbol.Get("Foo");
Symbol bar = GSymbol.Get("Bar");
Assert.AreNotEqual(foo, bar);
Assert.AreEqual("Foo", foo.ToString());
Assert.AreEqual("Bar", bar.ToString());
Assert.AreEqual("Foo", foo.Name);
Assert.AreEqual("Bar", bar.Name);
//Assert.IsNotNull(string.IsInterned(foo.Name));
//Assert.IsNotNull(string.IsInterned(bar.Name));
Symbol foo2 = GSymbol.Get("Foo");
Symbol bar2 = GSymbol.Get("Bar");
Assert.AreNotEqual(foo2, bar2);
Assert.AreEqual(foo, foo2);
Assert.AreEqual(bar, bar2);
Assert.That(object.ReferenceEquals(foo.Name, foo2.Name));
Assert.That(object.ReferenceEquals(bar.Name, bar2.Name));
}