コード例 #1
0
        public void Serialize_SerializedPrettyJsonIsValid()
        {
            // Arrange
            var node     = new TestNode(99);
            var expected = new SerializedNode(node);

            string serializedNode;

            using (var stream = new MemoryStream())
                using (var writer = new StreamWriter(stream))
                {
                    // Act
                    GraphSerializer.Serialize(writer, expected, true);
                    writer.Flush();
                    serializedNode = Encoding.UTF8.GetString(stream.ToArray());
                }

            using (var reader = new StringReader(serializedNode))
            {
                // Assert
                var serializer = new JsonSerializer();
                var actual     = (SerializedNode)serializer.Deserialize(reader, typeof(SerializedNode));
                Assert.Equal(expected.NodeType, actual.NodeType);
                Assert.Equal(((TestNode)expected.Node).SomeValue, ((TestNode)actual.Node).SomeValue);
            }
        }
コード例 #2
0
        private void Save_Click(object sender, RoutedEventArgs e)
        {
            var dlg = new SaveFileDialog {
                Filter = "All files|*.*", Title = "Select layout file name", FileName = "laytest.xml"
            };

            if (dlg.ShowDialog() == true)
            {
                GraphSerializer.Serialize(dlg.OpenFile(), myArea.LogicCore.Graph);
            }
        }
コード例 #3
0
        public void Serialize_Should_Throw_WhenNodeTypeNameNotSupported_ByCustomResolver()
        {
            var graphType = new GraphTypeWithResolver();
            var graph     = new GraphModel(graphType);

            var nodeType = new SourceNode();
            var node     = nodeType.CreateNode();

            graph.AddNode(node);

            Assert.That(() => GraphSerializer.Serialize(graph), Throws.InvalidOperationException);
        }
コード例 #4
0
        private static string GetSerializeString(SerializedNode node, bool pretty = false)
        {
            string serializedNode;

            using (var stream = new MemoryStream())
                using (var writer = new StreamWriter(stream))
                {
                    // Act
                    GraphSerializer.Serialize(writer, node, pretty);
                    writer.Flush();
                    serializedNode = Encoding.UTF8.GetString(stream.ToArray());
                }
            return(serializedNode);
        }
コード例 #5
0
        /// <summary>asdsf </summary>
        public static byte[] GetSerializedGraph()
        {
            var graph = DirectedGraph.CreateEmpty(7);

            graph.AddEdge(new DirectedEdge(graph.Vertices[0], graph.Vertices[5]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[1], graph.Vertices[0]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[1], graph.Vertices[5]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[2], graph.Vertices[1]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[2], graph.Vertices[5]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[3], graph.Vertices[4]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[4], graph.Vertices[2]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[4], graph.Vertices[3]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[5], graph.Vertices[6]));
            graph.AddEdge(new DirectedEdge(graph.Vertices[6], graph.Vertices[4]));

            return(GraphSerializer.Serialize(graph));
        }
コード例 #6
0
        /// <summary>asdsf </summary>
        public static byte[] GetSerializedWeightedGraph()
        {
            var graph = DirectedWeightedGraph.CreateEmpty(8);

            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[0], graph.Vertices[1], 2));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[0], graph.Vertices[6], 6));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[1], graph.Vertices[2], 7));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[1], graph.Vertices[4], 2));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[2], graph.Vertices[3], 3));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[4], graph.Vertices[5], 2));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[4], graph.Vertices[6], 1));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[5], graph.Vertices[2], 1));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[5], graph.Vertices[7], 2));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[6], graph.Vertices[7], 4));
            graph.AddEdge(new DirectedWeightedEdge(graph.Vertices[7], graph.Vertices[3], 1));

            return(GraphSerializer.Serialize(graph));
        }
コード例 #7
0
 public void Serialize_Should_Throw_WhenNullGraph()
 {
     Assert.That(() => GraphSerializer.Serialize(( GraphModel )null), Throws.ArgumentNullException);
 }
コード例 #8
0
        private GraphModel SaveLoadGraph(GraphModel graph)
        {
            var str = GraphSerializer.Serialize(graph);

            return(GraphSerializer.Deserialize(str));
        }