package com.phonegap.util;
import junit.framework.TestCase;
import org.mockito.Mockito;
import com.phonegap.util.NetworkSuffixGenerator;
public class NetworkSuffixGeneratorTest extends TestCase {
private NetworkSuffixGenerator generator = new NetworkSuffixGenerator();
private NetworkSuffixGenerator spyOnGenerator(Boolean hasBESCoverage, Boolean hasBISCoverage, Boolean hasTCPCoverage, Boolean hasWiFiCoverage) {
NetworkSuffixGenerator spy = (NetworkSuffixGenerator) Mockito.spy(generator);
((NetworkSuffixGenerator) Mockito.doReturn(hasTCPCoverage).when(spy)).hasTCPCoverage();
((NetworkSuffixGenerator) Mockito.doReturn(hasBISCoverage).when(spy)).hasBISCoverage();
((NetworkSuffixGenerator) Mockito.doReturn(hasBESCoverage).when(spy)).hasBESCoverage();
((NetworkSuffixGenerator) Mockito.doReturn(hasWiFiCoverage).when(spy)).hasWiFiCoverage();
return spy;
}
public void test_should_generate_network_suffix_for_no_coverage(){
NetworkSuffixGenerator spy = spyOnGenerator(Boolean.FALSE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE);
String suffix = spy.generateNetworkSuffix();
assertEquals("", suffix);
}
public void test_should_generate_network_suffix_for_MDS(){
NetworkSuffixGenerator spy = spyOnGenerator(Boolean.TRUE, Boolean.FALSE, Boolean.FALSE, Boolean.TRUE);
String suffix = spy.generateNetworkSuffix();
assertEquals(";deviceside=false", suffix);
}
public void test_should_generate_network_suffix_for_BES_when_both_available(){
NetworkSuffixGenerator spy = spyOnGenerator(Boolean.TRUE, Boolean.FALSE, Boolean.TRUE, Boolean.TRUE);
String suffix = spy.generateNetworkSuffix();
assertEquals(";deviceside=false", suffix);
}
public void test_should_generate_network_suffix_for_TCP(){
NetworkSuffixGenerator spy = spyOnGenerator(Boolean.FALSE, Boolean.FALSE, Boolean.TRUE, Boolean.FALSE);
String suffix = spy.generateNetworkSuffix();
assertEquals(";deviceside=true", suffix);
}
public void test_should_generate_network_suffix_for_TCP_with_WiFi(){
NetworkSuffixGenerator spy = spyOnGenerator(Boolean.FALSE, Boolean.FALSE, Boolean.TRUE, Boolean.TRUE);
String suffix = spy.generateNetworkSuffix();
assertEquals(";deviceside=true;interface=wifi", suffix);
}
public void test_should_generate_network_suffix_for_BIS(){
NetworkSuffixGenerator spy = spyOnGenerator(Boolean.FALSE, Boolean.TRUE, Boolean.FALSE, Boolean.TRUE);
String suffix = spy.generateNetworkSuffix();
assertEquals(";deviceside=false;ConnectionType=mds-public", suffix);
}
}