Exemplo n.º 1
0
        public void test_copy()
        {
            Character       c1 = new Character("Somebody"), c2 = new Character("Mr. Boddy");
            CharacterDomain foo = new CharacterDomain(), bar;

            foo.add_character(c1);
            Guid mr_boddy = foo.add_character(c2);

            foo.remove_character(mr_boddy);

            bar = foo.copy();
            Assert.IsFalse(ReferenceEquals(foo, bar));
            Assert.IsFalse(ReferenceEquals(foo.characters, bar.characters));
            Assert.AreEqual(foo.characters.Count, bar.characters.Count);
            foreach (Guid chr in foo.characters.Keys)
            {
                Assert.IsTrue(bar.characters.ContainsKey(chr));
                Assert.IsFalse(ReferenceEquals(foo.characters[chr], bar.characters[chr]));
                Assert.AreEqual(foo.characters[chr].name, bar.characters[chr].name);
            }
            Assert.IsFalse(ReferenceEquals(foo.active_characters, bar.active_characters));
            Assert.AreEqual(foo.active_characters.Count, bar.active_characters.Count);
            foreach (Guid chr in foo.active_characters)
            {
                Assert.IsTrue(bar.active_characters.Contains(chr));
            }
        }
Exemplo n.º 2
0
        public void test_serialization()
        {
            Character       c1 = new Character("Somebody"), c2 = new Character("Mr. Boddy");
            CharacterDomain foo = new CharacterDomain(), bar;

            foo.add_character(c1);
            Guid mr_boddy = foo.add_character(c2);

            foo.remove_character(mr_boddy);

            DataContractSerializer fmt = new DataContractSerializer(typeof(CharacterDomain));

            using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) {
                fmt.WriteObject(ms, foo);
                ms.Seek(0, System.IO.SeekOrigin.Begin);
                System.Xml.XmlDictionaryReader xr = System.Xml.XmlDictionaryReader.CreateTextReader(ms, new System.Xml.XmlDictionaryReaderQuotas());
                bar = (CharacterDomain)(fmt.ReadObject(xr, true));
            }
            Assert.AreEqual(foo.characters.Count, bar.characters.Count);
            foreach (Guid chr in foo.characters.Keys)
            {
                Assert.IsTrue(bar.characters.ContainsKey(chr));
                Assert.AreEqual(foo.characters[chr].name, bar.characters[chr].name);
            }
            Assert.AreEqual(foo.active_characters.Count, bar.active_characters.Count);
            foreach (Guid chr in foo.active_characters)
            {
                Assert.IsTrue(bar.active_characters.Contains(chr));
            }
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            var characterDomain = new CharacterDomain();
            var warrior         = characterDomain.CreateCharacter(CharacterType.Warrior, "Buddy the Warrior");
            var wizard          = characterDomain.CreateCharacter(CharacterType.Wizard, "Ed the Wizard");
            var whiteWizard     = characterDomain.CreateCharacter(CharacterType.WhiteWizard, "The Wonderous Whitey");

            var weaponsDomain = new WeaponDomain();
            var sword         = weaponsDomain.CreateWeapon(WeaponType.Sword, "Sword of Might");
            var sword2        = weaponsDomain.CreateWeapon(WeaponType.Sword, "Sword of the Magi");
            var staff         = weaponsDomain.CreateWeapon(WeaponType.Staff, "Cudgel of Shame");
            var dagger        = weaponsDomain.CreateWeapon(WeaponType.Daggger, "Dagger of Dagging");
            var dagger2       = weaponsDomain.CreateWeapon(WeaponType.Daggger, "Shiv of Shadows");

            var inventoryDomain = new InventoryDomain();

            PickUpWeapon(inventoryDomain, warrior, sword);
            PickUpWeapon(inventoryDomain, warrior, sword);
            PickUpWeapon(inventoryDomain, warrior, staff);
            PickUpWeapon(inventoryDomain, warrior, dagger);
            PickUpWeapon(inventoryDomain, wizard, staff);
            PickUpWeapon(inventoryDomain, wizard, sword2);
            PickUpWeapon(inventoryDomain, wizard, dagger);
            PickUpWeapon(inventoryDomain, wizard, dagger2);
            PickUpWeapon(inventoryDomain, whiteWizard, sword2);
            Console.ReadKey();
        }
Exemplo n.º 4
0
        public void test_restore_character_active()
        {
            CharacterDomain domain   = new CharacterDomain();
            Character       chr      = new Character("Somebody");
            Guid            chr_guid = domain.add_character(chr);

            domain.restore_character(chr_guid);
        }
Exemplo n.º 5
0
        public void test_add_character_duplicate_character()
        {
            CharacterDomain domain = new CharacterDomain();
            Character       chr    = new Character("Somebody");

            domain.add_character(chr);
            domain.add_character(chr);
        }
Exemplo n.º 6
0
        public void test_add_character_duplicate_guid()
        {
            CharacterDomain domain = new CharacterDomain();
            Character       chr1 = new Character("Somebody"), chr2 = new Character("Someone Else");

            Guid chr_guid = domain.add_character(chr1);

            domain.add_character(chr2, chr_guid);
        }
Exemplo n.º 7
0
        public void test_remove_character()
        {
            CharacterDomain domain   = new CharacterDomain();
            Character       chr      = new Character("Somebody");
            Guid            chr_guid = domain.add_character(chr);

            domain.remove_character(chr_guid);
            Assert.AreEqual(domain.characters.Count, 1);
            Assert.IsTrue(domain.characters.ContainsKey(chr_guid));
            Assert.AreEqual(domain.characters[chr_guid], chr);
            Assert.AreEqual(domain.active_characters.Count, 0);
        }
Exemplo n.º 8
0
        public void test_restore_character_no_such_guid()
        {
            CharacterDomain domain = new CharacterDomain();

            domain.restore_character(Guid.NewGuid());
        }
Exemplo n.º 9
0
        public void test_add_character_null()
        {
            CharacterDomain domain = new CharacterDomain();

            domain.add_character(null);
        }