Skip to content

Instantly share code, notes, and snippets.

View cp-radhika-s's full-sized avatar
🎯
Focusing

Radhika canopas cp-radhika-s

🎯
Focusing
View GitHub Profile
@cp-radhika-s
cp-radhika-s / MainActivity.java
Last active April 7, 2023 11:17
Android - Connecting your app to a Wi-Fi connection which might not have internet
public class MainActivity extends AppCompatActivity implements WifiChangeBroadcastReceiver.WifiChangeBroadcastListener {
private WifiManager wifiManager;
private ConnectivityManager connectivityManager;
private WifiChangeBroadcastReceiver wifiStateChangeReceiver;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
@cp-radhika-s
cp-radhika-s / MVVMTesting1.kt
Last active December 21, 2021 12:03
Jetpack Compose + MVVM + Kotlin Coroutine
@HiltViewModel
class MainViewModel
@Inject constructor(private val userServices: UserServices) : ViewModel() {
val state = MutableStateFlow<State>(State.START)
init {
loadUser()
}
class MainViewModelTest {
private val userServices = mock<UserServices>()
private lateinit var viewModel: MainViewModel
@Before
fun setup(){
viewModel = MainViewModel(userServices)
}
class MainViewModelTest {
private val userServices = mock<UserServices>()
private lateinit var viewModel: MainViewModel
@Test
fun `Loading state works`() = runBlocking {
whenever(userServices.getUsers()).thenReturn(emptyList())
viewModel = MainViewModel(userServices)
@ExperimentalCoroutinesApi
class MainCoroutineRule : TestWatcher(),
TestCoroutineScope by TestCoroutineScope() {
override fun starting(description: Description) {
super.starting(description)
Dispatchers.setMain(
this.coroutineContext[ContinuationInterceptor] as CoroutineDispatcher)
}
class MainViewModelTest {
@get:Rule
val mainCoroutineRule = MainCoroutineRule()
private val userServices = mock<UserServices>()
private lateinit var viewModel: MainViewModel
@Test
data class AppDispatchers(
val IO: CoroutineDispatcher = Dispatchers.IO
)
@HiltViewModel
class MainViewModel
@Inject constructor(
private val userServices: UserServices,
private val appDispatchers: AppDispatchers,
) : ViewModel() {
val state = MutableStateFlow<State>(State.START)
init {
private val testDispatcher = AppDispatchers(
IO = TestCoroutineDispatcher()
)
class MainViewModelTest {
@get:Rule
val mainCoroutineRule = MainCoroutineRule()
private val userServices = mock<UserServices>()
private lateinit var viewModel: MainViewModel
private val testDispatcher = AppDispatchers(