Exemple #1
0
        public void TestAdd()
        {
            var db = new StopLinksDb(1, new RouterDb(), string.Empty);

            db.Add(0, new RouterPoint(0, 0, 0, 0));

            var enumerator = db.GetEnumerator();

            enumerator.MoveTo(0);
            Assert.AreEqual(1, enumerator.Count);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(0, enumerator.EdgeId);
            Assert.AreEqual(0, enumerator.Offset);

            db.Add(1, new RouterPoint(0, 0, 1, ushort.MaxValue));

            enumerator = db.GetEnumerator();

            enumerator.MoveTo(0);
            Assert.AreEqual(1, enumerator.Count);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(0, enumerator.EdgeId);
            Assert.AreEqual(0, enumerator.Offset);

            enumerator.MoveTo(1);
            Assert.AreEqual(1, enumerator.Count);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(1, enumerator.EdgeId);
            Assert.AreEqual(ushort.MaxValue, enumerator.Offset);

            db.Add(1, new RouterPoint(0, 0, 2, ushort.MaxValue / 2));

            enumerator = db.GetEnumerator();

            enumerator.MoveTo(0);
            Assert.AreEqual(1, enumerator.Count);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(0, enumerator.EdgeId);
            Assert.AreEqual(0, enumerator.Offset);

            enumerator.MoveTo(1);
            Assert.AreEqual(2, enumerator.Count);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(1, enumerator.EdgeId);
            Assert.AreEqual(ushort.MaxValue, enumerator.Offset);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(2, enumerator.EdgeId);
            Assert.AreEqual(ushort.MaxValue / 2, enumerator.Offset);
        }
Exemple #2
0
        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);
                }
            }
        }