public void SerializeDeserializeTest() { byte[] buffer; string original; // restrict scope of original graph var stream = new MemoryStream(); { var parameters = new SmallWorld <float[], float> .Parameters() { M = 15, LevelLambda = 1 / Math.Log(15), }; var graph = new SmallWorld <float[], float>(CosineDistance.NonOptimized, DefaultRandomGenerator.Instance, parameters); graph.AddItems(vectors); graph.SerializeGraph(stream); original = graph.Print(); } stream.Position = 0; var copy = SmallWorld <float[], float> .DeserializeGraph(vectors, CosineDistance.NonOptimized, DefaultRandomGenerator.Instance, stream); Assert.AreEqual(original, copy.Print()); }
public void SerializeDeserializeTest() { byte[] buffer; string original; // restrict scope of original graph { var parameters = new SmallWorld <float[], float> .Parameters() { M = 15, LevelLambda = 1 / Math.Log(15), }; var graph = new SmallWorld <float[], float>(CosineDistance.NonOptimized); graph.BuildGraph(this.vectors, new Random(42), parameters); buffer = graph.SerializeGraph(); original = graph.Print(); } var copy = new SmallWorld <float[], float>(CosineDistance.NonOptimized); copy.DeserializeGraph(this.vectors, buffer); Assert.AreEqual(original, copy.Print()); }