public void equals_is_namespace_aware() { var token1 = StringToken.FromKeyString("something"); var token2 = StringToken.FromKeyString("something"); var token3 = StringToken.FromKeyString("else"); // FakeToken is namespaced var token4 = new FakeToken("something"); var token5 = new FakeToken("something"); var token6 = new FakeToken("else"); token1.ShouldEqual(token2); token2.ShouldEqual(token1); token3.ShouldNotEqual(token1); token1.ShouldNotEqual(token3); token4.ShouldEqual(token5); token5.ShouldEqual(token4); token6.ShouldNotEqual(token4); token4.ShouldNotEqual(token6); // Namespace matters here token1.ShouldNotEqual(token4); token3.ShouldNotEqual(token6); }