public void BothTypesBoundaryNumbers_DevidedCorrectly(int messagesCount) { var messages = new List<MixpanelMessage>(); for (int i = 0; i < messagesCount; i++) { messages.Add( _mc.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty)); messages.Add( _mc.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty)); } var batchMessage = new BatchMessageWrapper(messages); var splits = GetSplits(messagesCount, BatchMessageWrapper.MaxBatchSize); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(splits.Count)); for (int i = 0; i < splits.Count; i++) { Assert.That(batchMessage.TrackMessages[i].Count, Is.EqualTo(splits[i])); } // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(splits.Count)); for (int i = 0; i < splits.Count; i++) { Assert.That(batchMessage.EngageMessages[i].Count, Is.EqualTo(splits[i])); } }
public void BothTypesBoundaryNumbers_DevidedCorrectly(int messagesCount) { var messages = new List <MixpanelMessage>(); for (int i = 0; i < messagesCount; i++) { messages.Add( _mc.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty)); messages.Add( _mc.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty)); } var batchMessage = new BatchMessageWrapper(messages); var splits = GetSplits(messagesCount, BatchMessageWrapper.MaxBatchSize); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(splits.Count)); for (int i = 0; i < splits.Count; i++) { Assert.That(batchMessage.TrackMessages[i].Count, Is.EqualTo(splits[i])); } // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(splits.Count)); for (int i = 0; i < splits.Count; i++) { Assert.That(batchMessage.EngageMessages[i].Count, Is.EqualTo(splits[i])); } }
public void When_ManyMessages_Then_MessagesSplitted(int messagesCount) { var messages = new List <MixpanelMessage>(); for (int i = 0; i < messagesCount; i++) { messages.Add( mixpanelClient.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty)); messages.Add( mixpanelClient.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty)); } var batchMessage = new BatchMessageWrapper(messages); var splits = GetSplits(messagesCount, BatchMessageWrapper.MaxBatchSize); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(splits.Count)); for (int i = 0; i < splits.Count; i++) { Assert.That(batchMessage.TrackMessages[i].Count, Is.EqualTo(splits[i])); } // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(splits.Count)); for (int i = 0; i < splits.Count; i++) { Assert.That(batchMessage.EngageMessages[i].Count, Is.EqualTo(splits[i])); } }
public void OnlyEngageMessages_DevidedCorrectly() { var messages = new List <MixpanelMessage>(); for (int i = 0; i < 10; i++) { messages.Add( _mc.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty)); } var batchMessage = new BatchMessageWrapper(messages); // Check track Assert.That(batchMessage.TrackMessages, Is.Null); // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(1)); Assert.That(batchMessage.EngageMessages[0].Count, Is.EqualTo(10)); }
public void When_OnlyTrackMessages_Then_DividedCorrectly() { var messages = new List <MixpanelMessage>(); for (int i = 0; i < 10; i++) { messages.Add( mixpanelClient.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty)); } var batchMessage = new BatchMessageWrapper(messages); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(1)); Assert.That(batchMessage.TrackMessages[0].Count, Is.EqualTo(10)); // Check engage Assert.That(batchMessage.EngageMessages, Is.Null); }
public void When_AllTypeOfMessages_Then_DividedCorrectly() { var messages = new[] { // Track mixpanelClient.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty), mixpanelClient.GetAliasMessage(DistinctId, Alias), // Engage mixpanelClient.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleSetOnceMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleAddMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleAppendMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleUnionMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleRemoveMessage(DistinctId, DictionaryWithStringProperty), mixpanelClient.GetPeopleUnsetMessage(DistinctId, StringPropertyArray), mixpanelClient.GetPeopleDeleteMessage(DistinctId), mixpanelClient.GetPeopleTrackChargeMessage(DistinctId, DecimalPropertyValue) }; var batchMessage = new BatchMessageWrapper(messages); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(1)); List <MixpanelMessage> trackMessages = batchMessage.TrackMessages.Single(); Assert.That(trackMessages.Count, Is.EqualTo(2)); MixpanelMessage trackMessage = trackMessages[0]; Assert.That(trackMessage.Data["event"], Is.EqualTo(Event)); MixpanelMessage aliasMessage = trackMessages[1]; Assert.That(aliasMessage.Data["event"], Is.EqualTo("$create_alias")); // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(1)); List <MixpanelMessage> engageMessages = batchMessage.EngageMessages.Single(); Assert.That(engageMessages.Count, Is.EqualTo(9)); }
public void AllMessages_DevidedCorrectly() { var messages = new[] { // Track _mc.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty), _mc.GetAliasMessage(DistinctId, Alias), // Engage _mc.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleSetOnceMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleAddMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleAppendMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleUnionMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleUnsetMessage(DistinctId, StringPropertyArray), _mc.GetPeopleDeleteMessage(DistinctId), _mc.GetPeopleTrackChargeMessage(DistinctId, DecimalPropertyValue) }; var batchMessage = new BatchMessageWrapper(messages); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(1)); var trackMessages = batchMessage.TrackMessages.Single(); Assert.That(trackMessages.Count, Is.EqualTo(2)); var trackMessage = trackMessages[0]; Assert.That(trackMessage.Data[MixpanelProperty.TrackEvent], Is.EqualTo(Event)); var aliasMessage = trackMessages[1]; Assert.That(aliasMessage.Data[MixpanelProperty.TrackEvent], Is.EqualTo(MixpanelProperty.TrackCreateAlias)); // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(1)); var engageMessages = batchMessage.EngageMessages.Single(); Assert.That(engageMessages.Count, Is.EqualTo(8)); }
public void AllMessages_DevidedCorrectly() { var messages = new[] { // Track _mc.GetTrackMessage(Event, DistinctId, DictionaryWithStringProperty), _mc.GetAliasMessage(DistinctId, Alias), // Engage _mc.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleSetOnceMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleAddMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleAppendMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleUnionMessage(DistinctId, DictionaryWithStringProperty), _mc.GetPeopleUnsetMessage(DistinctId, StringPropertyArray), _mc.GetPeopleDeleteMessage(DistinctId), _mc.GetPeopleTrackChargeMessage(DistinctId, DecimalPropertyValue) }; var batchMessage = new BatchMessageWrapper(messages); // Check track Assert.That(batchMessage.TrackMessages.Count, Is.EqualTo(1)); var trackMessages = batchMessage.TrackMessages.Single(); Assert.That(trackMessages.Count, Is.EqualTo(2)); var trackMessage = trackMessages[0]; Assert.That(trackMessage[MixpanelProperty.TrackEvent], Is.EqualTo(Event)); var aliasMessage = trackMessages[1]; Assert.That(aliasMessage[MixpanelProperty.TrackEvent], Is.EqualTo(MixpanelProperty.TrackCreateAlias)); // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(1)); var engageMessages = batchMessage.EngageMessages.Single(); Assert.That(engageMessages.Count, Is.EqualTo(8)); }
public void OnlyEngageMessages_DevidedCorrectly() { var messages = new List<MixpanelMessage>(); for (int i = 0; i < 10; i++) { messages.Add( _mc.GetPeopleSetMessage(DistinctId, DictionaryWithStringProperty)); } var batchMessage = new BatchMessageWrapper(messages); // Check track Assert.That(batchMessage.TrackMessages, Is.Null); // Check engage Assert.That(batchMessage.EngageMessages.Count, Is.EqualTo(1)); Assert.That(batchMessage.EngageMessages[0].Count, Is.EqualTo(10)); }