public void Remove_profile_removes_the_correct_profile()
        {
            var basicProfile = new BasicProfile();
            var basicProfile2 = new BasicProfile2();
            var spyProfile = new SpyProfile();
            var defaultNameProfile = new DefaultNameProfile();

            Translator.AddProfile(basicProfile);
            Translator.AddProfile(basicProfile2);
            Translator.AddProfile(spyProfile);
            Translator.AddProfile(defaultNameProfile);

            // by generic
            Translator.RemoveProfile<BasicProfile>();
            Translator.ApplyUpdates();
            var profiles = Translator.GetAllProfiles().ToList();
            CollectionAssert.DoesNotContain(profiles, basicProfile);
            Assert.AreEqual(3, profiles.Count());

            // by instance
            Translator.RemoveProfile(basicProfile2);
            Translator.ApplyUpdates();
            profiles = Translator.GetAllProfiles().ToList();
            CollectionAssert.DoesNotContain(profiles, basicProfile2);
            Assert.AreEqual(2, profiles.Count());

            // by profile name
            Translator.RemoveProfile(spyProfile.ProfileName);
            Translator.ApplyUpdates();
            profiles = Translator.GetAllProfiles().ToList();
            CollectionAssert.DoesNotContain(profiles, spyProfile);
            Assert.AreEqual(1, profiles.Count());
        }
 public void Profile_name_is_the_name_of_the_class_by_default()
 {
     var profile = new DefaultNameProfile();
     Assert.AreEqual(typeof(DefaultNameProfile).Name, profile.ProfileName);
 }