Exemplo n.º 1
0
        public void SerializeDeserializeExit()
        {
            var testExit = ThingRepository.Instance.Make <Exit>();

            testExit.aliases.Add("test");
            testExit.SetLinkTargets(new Dbref[] { new Dbref(246, Dbref.DbrefObjectType.Room) });
            testExit.contents.TryAdd(new Dbref(135, Dbref.DbrefObjectType.Thing));
            testExit.externalDescription = "test externalDescription";
            testExit.SetFlag(Thing.Flag.LINK_OK);
            testExit.name  = "test name";
            testExit.owner = new Dbref(456, Dbref.DbrefObjectType.Player);
            testExit.SetPropertyPathValue("test/deep/string", Property.PropertyType.String, "STRING TEST < WOO >");
            testExit.SetPropertyPathValue("test/deep/int", 321);
            testExit.SetPropertyPathValue("test/deep/dbref", new Dbref(2468, Dbref.DbrefObjectType.Garbage));
            testExit.SetPropertyPathValue("test/deep/float", 12.34F);
            var serialized = testExit.Serialize();

            Assert.NotNull(serialized);

            var deserialized = Thing.Deserialize <Exit>(serialized);

            Assert.NotNull(deserialized);
            Assert.NotNull(deserialized !.properties);
            Assert.AreEqual(testExit.aliases, deserialized.aliases);
            Assert.NotNull(deserialized.contents);
            Assert.AreEqual(testExit.contents.Count, deserialized.contents.Count);
            Assert.AreEqual(testExit.contents, deserialized.contents);
            Assert.AreEqual(testExit.properties.Count, deserialized.properties.Count);
            Assert.AreEqual(testExit.properties, deserialized.properties);
            Assert.AreEqual(testExit.externalDescription, deserialized.externalDescription);
            Assert.AreEqual(testExit.flags, deserialized.flags);
            Assert.AreEqual(testExit.id, deserialized.id);
            Assert.AreEqual(testExit.Location, deserialized.Location);
            Assert.AreEqual(testExit.Owner, deserialized.Owner);
            Assert.AreEqual(testExit.pennies, deserialized.pennies);
            Assert.AreEqual(testExit.templates, deserialized.templates);
            Assert.AreEqual(testExit.Type, deserialized.Type);

            var reserialized = deserialized.Serialize();

            Assert.NotNull(reserialized);

            Assert.AreEqual(serialized, reserialized);
        }
Exemplo n.º 2
0
        public void SerializeDeserializeThing()
        {
            var testObj = ThingRepository.Instance.Make <Thing>();

            testObj.externalDescription = "test externalDescription";
            testObj.SetFlag(Thing.Flag.QUELL);
            testObj.name    = "test name";
            testObj.owner   = new Dbref(456, Dbref.DbrefObjectType.Player);
            testObj.pennies = 789;
            testObj.SetPropertyPathValue("test/deep/string", Property.PropertyType.String, "STRING TEST < WOO >");
            testObj.SetPropertyPathValue("test/deep/int", 321);
            testObj.SetPropertyPathValue("test/deep/dbref", new Dbref(2468, Dbref.DbrefObjectType.Garbage));
            testObj.SetPropertyPathValue("test/deep/float", 12.34F);
            var serialized = testObj.Serialize();

            Assert.NotNull(serialized);

            var deserialized = Thing.Deserialize <Thing>(serialized);

            Assert.NotNull(deserialized);
            Assert.NotNull(deserialized !.properties);
            Assert.AreEqual(testObj.properties.Count, deserialized.properties.Count);
            Assert.AreEqual(testObj.properties, deserialized.properties);
            Assert.AreEqual(testObj.externalDescription, deserialized.externalDescription);
            Assert.AreEqual(testObj.flags, deserialized.flags);
            Assert.AreEqual(testObj.id, deserialized.id);
            Assert.AreEqual(testObj.Location, deserialized.Location);
            Assert.AreEqual(testObj.Owner, deserialized.Owner);
            Assert.AreEqual(testObj.pennies, deserialized.pennies);
            Assert.AreEqual(testObj.templates, deserialized.templates);
            Assert.AreEqual(testObj.Type, deserialized.Type);

            var reserialized = deserialized.Serialize();

            Assert.NotNull(reserialized);

            Assert.AreEqual(serialized, reserialized);
        }
Exemplo n.º 3
0
        public void SerializeDeserializeHumanPlayer()
        {
            var player = ThingRepository.Instance.Make <HumanPlayer>();

            player.id = new Dbref(1, Dbref.DbrefObjectType.Player);
            Assert.IsTrue(player.SetPassword("secret"));
            Assert.IsFalse(player.SetPassword(" "));

            Assert.IsFalse(player.CheckPassword("secret "));
            Assert.IsFalse(player.CheckPassword("SECRET"));
            Assert.IsFalse(player.CheckPassword(" secret"));
            Assert.IsFalse(player.CheckPassword("hunter2"));
            Assert.IsFalse(player.CheckPassword(""));
            Assert.IsFalse(player.CheckPassword(null));
            Assert.IsTrue(player.CheckPassword("secret"));

            var serialized = player.Serialize();

            Assert.NotNull(serialized);

            var deserialized = Thing.Deserialize <HumanPlayer>(serialized);

            Assert.NotNull(deserialized);
            Assert.NotNull(deserialized !.properties);
            Assert.AreEqual(player.properties.Count, deserialized.properties.Count);
            Assert.AreEqual(player.properties, deserialized.properties);

            Assert.IsFalse(deserialized.CheckPassword("hunter2"));
            Assert.IsTrue(deserialized.CheckPassword("secret"));

            var reserialized = deserialized.Serialize();

            Assert.NotNull(reserialized);

            Assert.AreEqual(serialized, reserialized);
        }