public void Returns_A_Released_Identifier_If_Requested()
            {
                IObjectIdGenerator <Guid> generator = new GuidObjectIdGenerator <PersonViewModel2>();
                var uniqueIdentifier = generator.GetUniqueIdentifier();

                generator.ReleaseIdentifier(uniqueIdentifier);

                Assert.AreEqual(uniqueIdentifier, generator.GetUniqueIdentifier(true));
            }
            public void Returns_Unique_Identifier_For_DifferentTypes()
            {
                IObjectIdGenerator <Guid> generator1 = new GuidObjectIdGenerator <PersonViewModel3>();
                IObjectIdGenerator <Guid> generator2 = new GuidObjectIdGenerator <PersonViewModel4>();

                Assert.AreNotEqual(generator1.GetUniqueIdentifier(), generator2.GetUniqueIdentifier());
            }
            public void Returns_New_UniqueIdentifier_Even_If_Are_Generated_By_Different_Instances()
            {
                IObjectIdGenerator <Guid> generator1 = new GuidObjectIdGenerator <PersonViewModel1>();
                IObjectIdGenerator <Guid> generator2 = new GuidObjectIdGenerator <PersonViewModel1>();

                Assert.AreNotEqual(generator1.GetUniqueIdentifier(), generator2.GetUniqueIdentifier());
            }