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)); } }
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)); } }
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(); }
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); }
public void test_add_character_duplicate_character() { CharacterDomain domain = new CharacterDomain(); Character chr = new Character("Somebody"); domain.add_character(chr); domain.add_character(chr); }
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); }
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); }
public void test_restore_character_no_such_guid() { CharacterDomain domain = new CharacterDomain(); domain.restore_character(Guid.NewGuid()); }
public void test_add_character_null() { CharacterDomain domain = new CharacterDomain(); domain.add_character(null); }