public void CanParticipateTest()
        {
            Doll cloneDorothy   = dorothy.Copy();   // Doll without accessories. Can't participate
            Doll cloneAnastasia = anastasia.Copy(); // Doll with a single dress. Can participate

            cloneAnastasia.Wear(blackOfficeSuit);

            Assert.AreEqual(cloneDorothy.CanParticipate, false);
            Assert.AreEqual(cloneAnastasia.CanParticipate, true);
        }
        public void StyleTest()
        {
            Doll cloneNataliya  = nataliya.Copy();  // Doll without any accessories.
            Doll cloneBelle     = belle.Copy();     // Doll with low-tier accessories, fully compatible.
            Doll cloneClaire    = claire.Copy();    // Doll wilt mixed accessories, fully compatible
            Doll cloneAnastasia = anastasia.Copy(); // Doll with some uncompatible accessories.
            Doll cloneDorothy   = dorothy.Copy();   // Doll with some excess bracelets

            // Total Style 9
            Dress    belleSuit     = cheapBlackOfficeSuit.Copy() as Dress;
            Purse    bellePurse    = cheapPurseA.Copy() as Purse;
            Bracelet belleBracelet = whiteGoldBracelet.Copy() as Bracelet;

            cloneBelle.Wear(belleSuit);     // Style +3
            cloneBelle.Wear(bellePurse);    // Style +2, doesn't add bonus because of black dress.
            cloneBelle.Wear(belleBracelet); // Style +4

            // Total Style = 15
            Dress    claireDress     = greenPartyDress.Copy() as Dress;
            Bracelet claireBraceletA = fantasyBraceletB.Copy() as Bracelet;
            Bracelet claireBraceletB = braidedBracelet.Copy() as Bracelet;
            Purse    clairePurse     = premiumPurse.Copy() as Purse;

            cloneClaire.Wear(claireDress);     // Style +6
            cloneClaire.Wear(claireBraceletA); // Style +1
            cloneClaire.Wear(claireBraceletB); // Style +2
            cloneClaire.Wear(clairePurse);     // Style +4, adds +2 bonus for being used along a non B/W dress

            // Total Style = 10
            Dress    anastasiaDress    = blackOfficeSuit.Copy() as Dress;
            Necklace anastasiaNecklace = diamondNecklace.Copy() as Necklace;
            Purse    anastasiaPurse    = midPurse.Copy() as Purse;
            Bracelet anastasiaBracelet = braidedBracelet.Copy() as Bracelet;

            cloneAnastasia.Wear(anastasiaDress);    // Style +5
            cloneAnastasia.Wear(anastasiaNecklace); // Style +7, doesn't add to total because of suit dress
            cloneAnastasia.Wear(anastasiaPurse);    // Style +3, doesn't add bonus because of black dress
            cloneAnastasia.Wear(anastasiaBracelet); // Style +2

            // Total Style = 19
            Dress    dorothyDress     = pinkPartyDress.Copy() as Dress;
            Purse    dorothyPurse     = premiumPurse.Copy() as Purse;
            Necklace dorothyNecklace  = diamondNecklace.Copy() as Necklace;
            Bracelet dorothyBraceletA = braidedBracelet.Copy() as Bracelet;
            Bracelet dorothyBraceletB = diamondBracelet.Copy() as Bracelet;
            Bracelet dorothyBraceletC = fantasyBraceletA.Copy() as Bracelet;
            Bracelet dorothyBraceletD = fantasyBraceletB.Copy() as Bracelet;

            cloneDorothy.Wear(dorothyDress);     // Style +4
            cloneDorothy.Wear(dorothyPurse);     // Style +4, adds +2 bonus for being used along a non B/W dress
            cloneDorothy.Wear(dorothyNecklace);  // Style +7, doesn't add to total because of non B/W/R dress
            cloneDorothy.Wear(dorothyBraceletA); // Style +2
            cloneDorothy.Wear(dorothyBraceletB); // Style +5
            cloneDorothy.Wear(dorothyBraceletC); // Style +2
            cloneDorothy.Wear(dorothyBraceletD); // Style +1, adds 0 because of penalty.

            Assert.AreEqual(cloneNataliya.Style, 0);
            Assert.AreEqual(cloneBelle.Style, 9);
            Assert.AreEqual(cloneClaire.Style, 15);
            Assert.AreEqual(cloneAnastasia.Style, 10);
            Assert.AreEqual(cloneDorothy.Style, 19);
        }