Ejemplo n.º 1
0
        public void ReadPresenceDb()
        {
            using var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("UnitTestProject.Data.Presence.20210316.db");
            var db = PresenceDb.Read(stream);

            db.OsuVersion.Should().Be(20210316);
            db.Players.Should().HaveCount(7);

            db.Players[1].PlayerId.Should().Be(-3);
            db.Players[1].PlayerName.Should().Be("BanchoBot");

            db.Players[2].PlayerId.Should().Be(-2070907);
            db.Players[2].PlayerName.Should().Be("Tillerino");
            db.Players[2].UtcOffset.Should().Be(24);
            db.Players[2].CountryByte.Should().Be(56);
            db.Players[2].PlayerRank.Should().Be(PlayerRank.Default);
            db.Players[2].GameMode.Should().Be(GameMode.Standard);
            db.Players[2].Longitude.Should().BeApproximately(11.5850f, 0.0001f);
            db.Players[2].Latitude.Should().BeApproximately(48.1497f, 0.0001f);
            db.Players[2].GlobalRank.Should().Be(0);
            db.Players[2].LastUpdate.Should().BeAfter(new DateTime(2021, 04, 10, 20, 17, 17, DateTimeKind.Utc))
            .And.BeBefore(new DateTime(2021, 04, 10, 20, 17, 18, DateTimeKind.Utc));

            db.Players[5].GlobalRank.Should().Be(3873896);
        }
Ejemplo n.º 2
0
        public void ReadPresenceDbEmpty()
        {
            using var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("UnitTestProject.Data.Presence.20210316_empty.db");
            var db = PresenceDb.Read(stream);

            db.OsuVersion.Should().Be(20210316);
            db.Players.Should().BeEmpty();
        }
Ejemplo n.º 3
0
        public void ReadPresenceDb()
        {
            var db = PresenceDb.Read(OsuPath + "presence.db");

            Debug.WriteLine("Version: " + db.OsuVersion);
            Debug.WriteLine("Amount of scores: " + db.AmountOfPlayers);

            for (int i = 0; i < Math.Min(db.AmountOfPlayers, 10); i++)      //10 at most
            {
                var p = db.Players[i];
                Debug.WriteLine($"Player {p.PlayerName} lives at long {p.Longitude} and lat {p.Latitude}. Some DateTime: {p.Unknown1}. Rank: {p.PlayerRank}. {p.GameMode}, #{p.GlobalRank}, id {p.PlayerId}");
            }
        }
Ejemplo n.º 4
0
        public void ReadWritePresenceDb()
        {
            PresenceDb db;

            using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("UnitTestProject.Data.Presence.20210316.db"))
                db = PresenceDb.Read(stream);

            using var ms = new MemoryStream();

            using var sw = new SerializationWriter(ms);
            db.WriteToStream(sw);

            ms.Position = 0;
            var read = PresenceDb.Read(ms);

            db.Should().BeEquivalentTo(read);
        }