コード例 #1
0
        public void TestIsFirstRun()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            Assert.AreEqual(true, persistenceManager.IsFirstRun);
            persistenceManager.Initialize(Package.Current.Id.Version);
            Assert.AreEqual(false, persistenceManager.IsFirstRun);
        }
コード例 #2
0
        public void CleanupTests()
        {
            var manager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            manager.Initialize(new PackageVersion());
            manager.Clear();
        }
コード例 #3
0
        public void TestSessionStorage()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(new PackageVersion());
            Session fooSession = new Session();

            fooSession.AddMpid(new MParticleUser(4, persistenceManager));
            persistenceManager.LastSession = fooSession;
            Session fooSession2 = persistenceManager.LastSession;

            Assert.AreEqual(fooSession.Id, fooSession2.Id);
            Assert.AreEqual(fooSession.StartTimeMillis, fooSession2.StartTimeMillis);
            CollectionAssert.AreEqual((List <long>)fooSession.Mpids, (List <long>)fooSession2.Mpids);

            Session fooSession3 = new Session();

            fooSession3.LastEventTimeMillis = 123;
            fooSession3.AddMpid(new MParticleUser(10, persistenceManager));
            fooSession3.BackgroundTime     = 456;
            persistenceManager.LastSession = fooSession3;

            Session fooSession4 = persistenceManager.LastSession;

            Assert.AreEqual(fooSession3.Id, fooSession4.Id);
            Assert.AreEqual(fooSession3.StartTimeMillis, fooSession4.StartTimeMillis);
            Assert.AreEqual(fooSession3.LastEventTimeMillis, fooSession4.LastEventTimeMillis);
            Assert.AreEqual(fooSession3.BackgroundTime, fooSession4.BackgroundTime);
            CollectionAssert.AreEqual((List <long>)fooSession3.Mpids, (List <long>)fooSession4.Mpids);
        }
コード例 #4
0
        public void TestDeviceApplicationStamp()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            Assert.IsNull(persistenceManager.DeviceApplicationStamp);
            persistenceManager.DeviceApplicationStamp = "foo das";
            Assert.AreEqual("foo das", persistenceManager.DeviceApplicationStamp);
        }
コード例 #5
0
        public void TestSetUserAttributes()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            var user = new MParticleUser(5, persistenceManager);

            user.UserAttribute("foo attribute key", "foo value");
            Assert.AreEqual("foo value", user.UserAttributes["foo attribute key"]);
        }
コード例 #6
0
        public void TestGetUserIdentitiesNoIdentities()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            var user       = new MParticleUser(5, persistenceManager);
            var identities = user.UserIdentities;

            Assert.AreEqual(0, identities.Count);
        }
コード例 #7
0
        public void TestNoUserIdentities()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            var identities = persistenceManager.UserIdentities(1);

            Assert.IsNotNull(identities);
            Assert.AreEqual(0, identities.Count);
        }
コード例 #8
0
        public void TestIsUpgrade()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());
            PackageVersion     version1           = new PackageVersion()
            {
                Major = 1
            };
            PackageVersion version2 = new PackageVersion()
            {
                Major = 2
            };

            persistenceManager.Initialize(version1);
            Assert.AreEqual(false, persistenceManager.IsUpgrade);
            persistenceManager.Initialize(version2);
            Assert.AreEqual(true, persistenceManager.IsUpgrade);
            persistenceManager.Initialize(version2);
            Assert.AreEqual(false, persistenceManager.IsUpgrade);
        }
コード例 #9
0
        public void TestSetUserAttributeTag()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            var user = new MParticleUser(5, persistenceManager);

            user.UserTag("foo user attribute tag");
            Assert.AreEqual(1, user.UserAttributes.Count);
            Assert.IsTrue(user.UserAttributes.ContainsKey("foo user attribute tag"));
        }
コード例 #10
0
        public void TestSetUserAttributeList()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            var user = new MParticleUser(5, persistenceManager);
            var attributeValueList = new List <string>();

            attributeValueList.Add("foo item 1");
            user.UserAttribute("foo attribute list key", attributeValueList);
            Assert.AreEqual("foo item 1", ((IList <string>)user.UserAttributes["foo attribute list key"])[0]);
        }
コード例 #11
0
        public void TestRemoveUserAttribute()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            var user = new MParticleUser(5, persistenceManager);

            user.UserTag("foo user attribute tag 1");
            user.UserTag("foo user attribute tag 2");
            Assert.AreEqual(2, user.UserAttributes.Count);
            user.RemoveUserAttribute("foo user attribute tag 1");
            Assert.AreEqual(1, user.UserAttributes.Count);
        }
コード例 #12
0
        public void TestGenerateDeviceApplicationStamp()
        {
            var manager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            manager.Initialize(new PackageVersion());
            Assert.IsNull(manager.DeviceApplicationStamp);
            var identityApi = new IdentityApi("foo", "bar", manager);
            var das         = identityApi.GenerateDasIfNeeded();

            Assert.IsTrue(!string.IsNullOrEmpty(das));
            var das2 = identityApi.GenerateDasIfNeeded();

            Assert.AreEqual(das, das2);
            Assert.AreEqual(das, manager.DeviceApplicationStamp);
        }
コード例 #13
0
        public void TestAddDeviceIdentities()
        {
            var manager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            manager.Initialize(new PackageVersion());
            var identityApi = new IdentityApi("foo", "bar", manager);
            var identities  = new Identities();

            Assert.AreEqual(0, identities.Count);
            identityApi.AddDeviceIdentities(identities);
            Assert.IsNotNull(identities[IdentityType.DeviceApplicationStamp]);
            Assert.AreEqual(identityApi.GenerateDasIfNeeded(), identities[IdentityType.DeviceApplicationStamp]);
            Assert.IsNotNull(identities[IdentityType.MicrosoftAdvertisingId]);
            Assert.AreEqual(DeviceInfoBuilder.QueryAdvertisingId(), identities[IdentityType.MicrosoftAdvertisingId]);
            Assert.IsNotNull(identities[IdentityType.MicrosoftPublisherId]);
            Assert.AreEqual(DeviceInfoBuilder.QueryPublisherId(), identities[IdentityType.MicrosoftPublisherId]);
        }
コード例 #14
0
        public void TestGetUserIdentities()
        {
            PersistenceManager persistenceManager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            persistenceManager.Initialize(Package.Current.Id.Version);
            IList <UserIdentity> userIdentities = new List <UserIdentity>();
            UserIdentity         identity       = new UserIdentity();

            identity.DateFirstSet = 123;
            identity.Identity     = "foo identity";
            identity.IsFirstSeen  = true;
            identity.Name         = UserIdentityType.Twitter;
            userIdentities.Add(identity);
            persistenceManager.SetUserIdentities(5, userIdentities);
            var user       = new MParticleUser(5, persistenceManager);
            var identities = user.UserIdentities;

            Assert.AreEqual(1, identities.Count);
            Assert.AreEqual("foo identity", identities[UserIdentityType.Twitter]);
        }
コード例 #15
0
        public void TestAddUserIdentities()
        {
            var manager = new PersistenceManager(MParticleOptions.Builder("foo", "bar").Build());

            manager.Initialize(new PackageVersion());
            var identityApi = new IdentityApi("foo", "bar", manager);
            var identities  = new Identities();

            Assert.AreEqual(0, identities.Count);
            var apiRequest = IdentityApiRequest.EmptyUser()
                             .CustomerId("foo customer id")
                             .Email("foo email")
                             .UserIdentity(Core.Dto.Events.UserIdentityType.Google, "foo google")
                             .Build();

            IdentityApi.AddUserIdentities(identities, apiRequest);
            Assert.AreEqual(identities[IdentityType.CustomerId], "foo customer id");
            Assert.AreEqual(identities[IdentityType.Email], "foo email");
            Assert.AreEqual(identities[IdentityType.Google], "foo google");
        }