コード例 #1
0
        public ValidationNode Validate(ISerializationManager serializationManager, ValueDataNode node,
                                       IDependencyCollection dependencies, ISerializationContext?context = null)
        {
            var constType = serializationManager.GetConstantTypeFromTag(typeof(TTag));

            return(Enum.TryParse(constType, node.Value, out _) ? new ValidatedValueNode(node) : new ErrorNode(node, "Failed parsing constant.", false));
        }
コード例 #2
0
        public void DeserializeNullTest()
        {
            var node = new ValueDataNode("null");
            var unit = Serialization.Read <FixedPoint2?>(node);

            Assert.That(unit, Is.Null);
        }
コード例 #3
0
        public void DeserializeNotNullTest()
        {
            var node  = new ValueDataNode("#FFFFFFFF");
            var color = Serialization.ReadValue <Color>(node);

            Assert.That(color, Is.EqualTo(Color.White));
        }
コード例 #4
0
    public void DeserializationTest(string text)
    {
        var node = new ValueDataNode(text);
        var deserializedMessage = Serialization.ReadValueOrThrow <FormattedMessage>(node);

        Assert.That(deserializedMessage.ToMarkup(), Is.EqualTo(text));
    }
コード例 #5
0
        public void DeserializeNullableNullTest()
        {
            var node  = new ValueDataNode("null");
            var color = Serialization.ReadValue <Color?>(node);

            Assert.That(color, Is.Null);
        }
コード例 #6
0
 public ValidationNode Validate(ISerializationManager serializationManager, ValueDataNode node,
                                IDependencyCollection dependencies, ISerializationContext?context = null)
 {
     return(dependencies.Resolve <IPrototypeManager>().HasIndex <TPrototype>(node.Value)
         ? new ValidatedValueNode(node)
         : new ErrorNode(node, $"PrototypeID {node.Value} for type {typeof(TPrototype)} not found"));
 }
コード例 #7
0
        public void DeserializeNullTest()
        {
            var node = new ValueDataNode("null");
            var unit = Serialization.ReadValue <ReagentUnit?>(node);

            Assert.That(unit, Is.Null);
        }
コード例 #8
0
        public void DeserializationTest()
        {
            var degrees           = 75;
            var node              = new ValueDataNode(degrees.ToString());
            var deserializedAngle = Serialization.ReadValue <Angle>(node);
            var angle             = Angle.FromDegrees(degrees);

            Assert.That(deserializedAngle, Is.EqualTo(angle));
        }
コード例 #9
0
        public ValidationNode Validate(ISerializationManager serializationManager, ValueDataNode node,
                                       IDependencyCollection dependencies, ISerializationContext?context = null)
        {
            if (serializationManager.ValidateNode <ResourcePath>(node, context) is not ErrorNode)
            {
                return(new ValidatedValueNode(node));
            }

            return(new ErrorNode(node, "SoundSpecifier value is not a valid resource path!"));
        }
コード例 #10
0
        public void DeserializationTest()
        {
            var str  = "[AEIOU]";
            var node = new ValueDataNode(str);
            var deserializedRegex = Serialization.ReadValueOrThrow <Regex>(node);
            var regex             = new Regex(str, RegexOptions.Compiled);

            Assert.That(deserializedRegex.ToString(), Is.EqualTo(regex.ToString()));
            Assert.That(deserializedRegex.Options, Is.EqualTo(regex.Options));
        }
コード例 #11
0
        public void DeserializationTest()
        {
            byte r    = 123;
            byte g    = 5;
            byte b    = 40;
            byte a    = 55;
            var  str  = $"#{(r << 24) + (g << 16) + (b << 8) + a:X8}";
            var  node = new ValueDataNode(str);
            var  deserializedColor = Serialization.ReadValueOrThrow <Color>(node);
            var  color             = new Color(r, g, b, a);

            Assert.That(deserializedColor.ToString(), Is.EqualTo(color.ToString()));
        }
コード例 #12
0
        public void DeserializationTest()
        {
            var left            = 1;
            var bottom          = -2;
            var right           = -3;
            var top             = 4;
            var str             = $"{bottom},{left},{top},{right}";
            var node            = new ValueDataNode(str);
            var deserializedBox = Serialization.ReadValueOrThrow <Box2>(node);
            var box             = new Box2(left, bottom, right, top);

            Assert.That(deserializedBox, Is.EqualTo(box));

            Assert.That(deserializedBox.Left, Is.EqualTo(box.Left));
            Assert.That(deserializedBox.Bottom, Is.EqualTo(box.Bottom));
            Assert.That(deserializedBox.Right, Is.EqualTo(box.Right));
            Assert.That(deserializedBox.Top, Is.EqualTo(box.Top));

            Assert.That(deserializedBox.BottomLeft, Is.EqualTo(box.BottomLeft));
            Assert.That(deserializedBox.BottomRight, Is.EqualTo(box.BottomRight));
            Assert.That(deserializedBox.TopLeft, Is.EqualTo(box.TopLeft));
            Assert.That(deserializedBox.TopRight, Is.EqualTo(box.TopRight));
        }
コード例 #13
0
 public ValidationNode Validate(ISerializationManager serializationManager, ValueDataNode node,
                                IDependencyCollection dependencies, ISerializationContext?context = null)
 {
     return(serializationManager.ValidateNodeWith <string, PrototypeIdSerializer <T>, ValueDataNode>(node, context));
 }
コード例 #14
0
 public DeserializationResult Read(ISerializationManager serializationManager, ValueDataNode node,
                                   IDependencyCollection dependencies, bool skipHook, ISerializationContext?context = null)
 {
     return(new DeserializedValue <SoundSpecifier>(new SoundPathSpecifier(node.Value)));
 }
コード例 #15
0
        public void DeserializeNullTest()
        {
            var node = new ValueDataNode("null");

            Assert.That(() => Serialization.ReadValue <Color>(node), Throws.Exception);
        }
コード例 #16
0
        public DeserializationResult Read(ISerializationManager serializationManager, ValueDataNode node,
                                          IDependencyCollection dependencies, bool skipHook, ISerializationContext?context = null)
        {
            var constType = serializationManager.GetConstantTypeFromTag(typeof(TTag));

            return(new DeserializedValue((int)Enum.Parse(constType, node.Value)));
        }
コード例 #17
0
 public DeserializationResult Read(ISerializationManager serializationManager, ValueDataNode node,
                                   IDependencyCollection dependencies, bool skipHook, ISerializationContext?context = null)
 {
     return(DeserializationResult.Value(node.Value));
 }
コード例 #18
0
 public DeserializationResult Read(ISerializationManager serializationManager, ValueDataNode node,
                                   IDependencyCollection dependencies, bool skipHook, ISerializationContext?context = null)
 {
     return(new DeserializedValue <PrototypeFlags <T> >(new PrototypeFlags <T>(node.Value)));
 }