/*******************************************************************************
* Copyright (c) 2014 EclipseSource and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
package com.eclipsesource.tabris.tracking.internal.analytics.model.hit;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestKeyProvider.getRequestKey;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestKeys.EVENT_ACTION;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestKeys.EVENT_CATEGORY;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestKeys.EVENT_LABEL;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestKeys.EVENT_VALUE;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestKeys.HIT_TYPE;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestValueProvider.getRequestValue;
import static com.eclipsesource.tabris.tracking.internal.analytics.request.RequestValues.HIT_EVENT;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class EventHitTest {
@Test
public void testSetsEventHit() {
EventHit eventHit = new EventHit();
String hitType = ( String )eventHit.getParameter().get( getRequestKey( HIT_TYPE ) );
assertEquals( getRequestValue( HIT_EVENT ), hitType );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullEventCategory() {
new EventHit().setCategory( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyEventCategory() {
new EventHit().setCategory( "" );
}
@Test
public void testSetsEventCategory() {
EventHit eventHit = new EventHit().setCategory( "foo" );
String eventCategory = ( String )eventHit.getParameter().get( getRequestKey( EVENT_CATEGORY ) );
assertEquals( "foo", eventCategory );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullEventAction() {
new EventHit().setAction( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyEventAction() {
new EventHit().setAction( "" );
}
@Test
public void testSetsEventAction() {
EventHit eventHit = new EventHit().setAction( "foo" );
String eventCategory = ( String )eventHit.getParameter().get( getRequestKey( EVENT_ACTION ) );
assertEquals( "foo", eventCategory );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullEventLabel() {
new EventHit().setLabel( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyEventLabel() {
new EventHit().setLabel( "" );
}
@Test
public void testSetsEventLabel() {
EventHit eventHit = new EventHit().setLabel( "foo" );
String eventCategory = ( String )eventHit.getParameter().get( getRequestKey( EVENT_LABEL ) );
assertEquals( "foo", eventCategory );
}
@Test
public void testSetsEventValue() {
EventHit eventHit = new EventHit().setValue( 2 );
Integer eventValue = ( Integer )eventHit.getParameter().get( getRequestKey( EVENT_VALUE ) );
assertEquals( Integer.valueOf( 2 ), eventValue );
}
}