public void TestDeserialize() { var db = new StopLinksDb(5, new RouterDb(), "pedestrian"); db.Add(0, new RouterPoint(0, 1, 0, 0)); db.Add(0, new RouterPoint(2, 3, 0, 16)); db.Add(0, new RouterPoint(4, 5, 0, 64)); db.Add(0, new RouterPoint(6, 7, 0, 256)); db.Add(0, new RouterPoint(8, 9, 0, 1024)); using (var stream = new MemoryStream()) { db.Serialize(stream); stream.Seek(0, SeekOrigin.Begin); var db1 = StopLinksDb.Deserialize(stream); Assert.AreEqual(db.SizeInBytes, db1.SizeInBytes); var enumerator = db.GetEnumerator(); var enumerator1 = db1.GetEnumerator(); enumerator.MoveTo(0); enumerator1.MoveTo(0); while (enumerator.MoveNext()) { Assert.IsTrue(enumerator1.MoveNext()); Assert.AreEqual(enumerator.EdgeId, enumerator1.EdgeId); Assert.AreEqual(enumerator.Offset, enumerator1.Offset); } } }
public void TestSerialize() { var db = new StopLinksDb(5, new RouterDb(), "pedestrian"); db.Add(0, new RouterPoint(0, 1, 0, 0)); db.Add(0, new RouterPoint(2, 3, 0, 16)); db.Add(0, new RouterPoint(4, 5, 0, 64)); db.Add(0, new RouterPoint(6, 7, 0, 256)); db.Add(0, new RouterPoint(8, 9, 0, 1024)); var profileBytes = System.Text.Encoding.Unicode.GetByteCount("pedestrian"); var size = 1 + 8 + 8 + 16 + profileBytes + 8 + 5 * 2 * 4 + 5 * 2 * 4; using (var stream = new MemoryStream()) { Assert.AreEqual(size, db.SizeInBytes); Assert.AreEqual(size, db.Serialize(stream)); } }