package com.hokolinks.tests;
import com.hokolinks.BuildConfig;
import com.hokolinks.deeplinking.Filtering;
import com.hokolinks.deeplinking.Handling;
import com.hokolinks.deeplinking.Routing;
import com.hokolinks.model.Route;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import static org.fest.assertions.api.Assertions.assertThat;
@RunWith(HokoGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class RoutingTest {
@Test
public void testRoutingSort() {
Routing routing = new Routing("token", RuntimeEnvironment.application, new Handling(), new Filtering());
routing.mapRoute("product/:product_id", null);
routing.mapRoute("product/xpto/:id", null);
routing.mapRoute("product/xpto/zzz", null);
routing.mapRoute("product/xpto", null);
routing.mapRoute("mkay", null);
routing.mapRoute("anything", null);
routing.mapRoute("zoidberg", null);
ArrayList<Route> routes = routing.getRoutes();
assertThat(routes.get(0).getRoute()).isEqualTo("anything");
assertThat(routes.get(1).getRoute()).isEqualTo("mkay");
assertThat(routes.get(2).getRoute()).isEqualTo("zoidberg");
assertThat(routes.get(3).getRoute()).isEqualTo("product/xpto");
assertThat(routes.get(4).getRoute()).isEqualTo("product/:product_id");
assertThat(routes.get(5).getRoute()).isEqualTo("product/xpto/zzz");
assertThat(routes.get(6).getRoute()).isEqualTo("product/xpto/:id");
}
}