From d3718948588a32e678c38d5a1b1653d3a8c798c4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 21 Sep 2023 17:02:20 +0200 Subject: [PATCH] BundleMock -> kt --- .../app/aaps/shared/tests/BundleMock.java | 173 ------------------ .../app/aaps/shared/tests/BundleMock.kt | 116 ++++++++++++ 2 files changed, 116 insertions(+), 173 deletions(-) delete mode 100644 shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.java create mode 100644 shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.kt diff --git a/shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.java b/shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.java deleted file mode 100644 index 2244f4befb..0000000000 --- a/shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.java +++ /dev/null @@ -1,173 +0,0 @@ -package app.aaps.shared.tests; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyBoolean; -import static org.mockito.ArgumentMatchers.anyByte; -import static org.mockito.ArgumentMatchers.anyChar; -import static org.mockito.ArgumentMatchers.anyDouble; -import static org.mockito.ArgumentMatchers.anyFloat; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.anyLong; -import static org.mockito.ArgumentMatchers.anyShort; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.when; - -import android.os.Bundle; -import android.os.Parcelable; -import android.util.SparseArray; - -import org.mockito.Mockito; -import org.mockito.stubbing.Answer; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.HashMap; - -@SuppressWarnings({"unused", "rawtypes", "SuspiciousMethodCalls", "unchecked", "deprecation"}) -public final class BundleMock { - - public static Bundle mock() { - return mock(new HashMap<>()); - } - - public static Bundle mock(final HashMap map) { - - Answer unsupported = invocation -> { - throw new UnsupportedOperationException(); - }; - Answer put = invocation -> { - map.put((String) invocation.getArguments()[0], invocation.getArguments()[1]); - return null; - }; - Answer get = invocation -> map.get(invocation.getArguments()[0]); - Answer getOrDefault = invocation -> { - Object key = invocation.getArguments()[0]; - return map.containsKey(key) ? map.get(key) : invocation.getArguments()[1]; - }; - - Bundle bundle = Mockito.mock(Bundle.class); - - doAnswer(invocation -> map.size()).when(bundle).size(); - doAnswer(invocation -> map.isEmpty()).when(bundle).isEmpty(); - doAnswer(invocation -> { - map.clear(); - return null; - }).when(bundle).clear(); - doAnswer(invocation -> map.containsKey(invocation.getArguments()[0])).when(bundle).containsKey(anyString()); - doAnswer(invocation -> map.get(invocation.getArguments()[0])).when(bundle).get(anyString()); - doAnswer(invocation -> { - map.remove(invocation.getArguments()[0]); - return null; - }).when(bundle).remove(anyString()); - doAnswer(invocation -> map.keySet()).when(bundle).keySet(); - doAnswer(invocation -> BundleMock.class.getSimpleName() + "{map=" + map.toString() + "}").when(bundle).toString(); - - doAnswer(put).when(bundle).putBoolean(anyString(), anyBoolean()); - when(bundle.getBoolean(anyString())).thenAnswer(get); - when(bundle.getBoolean(anyString(), anyBoolean())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putByte(anyString(), anyByte()); - when(bundle.getByte(anyString())).thenAnswer(get); - when(bundle.getByte(anyString(), anyByte())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putChar(anyString(), anyChar()); - when(bundle.getChar(anyString())).thenAnswer(get); - when(bundle.getChar(anyString(), anyChar())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putInt(anyString(), anyShort()); - when(bundle.getShort(anyString())).thenAnswer(get); - when(bundle.getShort(anyString(), anyShort())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putLong(anyString(), anyLong()); - when(bundle.getLong(anyString())).thenAnswer(get); - when(bundle.getLong(anyString(), anyLong())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putFloat(anyString(), anyFloat()); - when(bundle.getFloat(anyString())).thenAnswer(get); - when(bundle.getFloat(anyString(), anyFloat())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putDouble(anyString(), anyDouble()); - when(bundle.getDouble(anyString())).thenAnswer(get); - when(bundle.getDouble(anyString(), anyDouble())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putString(anyString(), anyString()); - when(bundle.getString(anyString())).thenAnswer(get); - when(bundle.getString(anyString(), anyString())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putBooleanArray(anyString(), any(boolean[].class)); - when(bundle.getBooleanArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putLongArray(anyString(), any(long[].class)); - when(bundle.getLongArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putDoubleArray(anyString(), any(double[].class)); - when(bundle.getDoubleArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putIntArray(anyString(), any(int[].class)); - when(bundle.getIntArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putInt(anyString(), anyInt()); - when(bundle.getInt(anyString())).thenAnswer(get); - when(bundle.getInt(anyString(), anyInt())).thenAnswer(getOrDefault); - - doAnswer(unsupported).when(bundle).putAll(any(Bundle.class)); - when(bundle.hasFileDescriptors()).thenAnswer(unsupported); - - doAnswer(put).when(bundle).putShort(anyString(), anyShort()); - when(bundle.getShort(anyString())).thenAnswer(get); - when(bundle.getShort(anyString(), anyShort())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putFloat(anyString(), anyFloat()); - when(bundle.getFloat(anyString())).thenAnswer(get); - when(bundle.getFloat(anyString(), anyFloat())).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putCharSequence(anyString(), any(CharSequence.class)); - when(bundle.getCharSequence(anyString())).thenAnswer(get); - when(bundle.getCharSequence(anyString(), any(CharSequence.class))).thenAnswer(getOrDefault); - - doAnswer(put).when(bundle).putBundle(anyString(), any(Bundle.class)); - when(bundle.getBundle(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putParcelable(anyString(), any(Parcelable.class)); - when(bundle.getParcelable(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putParcelableArray(anyString(), any(Parcelable[].class)); - when(bundle.getParcelableArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putParcelableArrayList(anyString(), any(ArrayList.class)); - when(bundle.getParcelableArrayList(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putSparseParcelableArray(anyString(), any(SparseArray.class)); - when(bundle.getSparseParcelableArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putSerializable(anyString(), any(Serializable.class)); - when(bundle.getSerializable(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putIntegerArrayList(anyString(), any(ArrayList.class)); - when(bundle.getIntegerArrayList(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putStringArrayList(anyString(), any(ArrayList.class)); - when(bundle.getStringArrayList(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putCharSequenceArrayList(anyString(), any(ArrayList.class)); - when(bundle.getCharSequenceArrayList(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putCharArray(anyString(), any(char[].class)); - when(bundle.getCharArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putByteArray(anyString(), any(byte[].class)); - when(bundle.getByteArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putShortArray(anyString(), any(short[].class)); - when(bundle.getShortArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putFloatArray(anyString(), any(float[].class)); - when(bundle.getFloatArray(anyString())).thenAnswer(get); - - doAnswer(put).when(bundle).putCharSequenceArray(anyString(), any(CharSequence[].class)); - when(bundle.getCharSequenceArray(anyString())).thenAnswer(get); - - return bundle; - } -} \ No newline at end of file diff --git a/shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.kt b/shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.kt new file mode 100644 index 0000000000..9111002ab5 --- /dev/null +++ b/shared/tests/src/main/kotlin/app/aaps/shared/tests/BundleMock.kt @@ -0,0 +1,116 @@ +package app.aaps.shared.tests + +import android.os.Bundle +import android.os.Parcelable +import org.mockito.ArgumentMatchers +import org.mockito.Mockito +import org.mockito.invocation.InvocationOnMock +import org.mockito.stubbing.Answer +import java.io.Serializable + +@Suppress("unused", "deprecation") +object BundleMock { + + @JvmOverloads fun mock(map: HashMap = HashMap()): Bundle { + val unsupported: Answer<*> = Answer { throw UnsupportedOperationException() } + val put: Answer<*> = Answer { invocation: InvocationOnMock -> + map[invocation.arguments[0] as String] = invocation.arguments[1] + null + } + val get = Answer { invocation: InvocationOnMock -> map[invocation.arguments[0]] } + val getOrDefault = Answer { invocation: InvocationOnMock -> + val key = invocation.arguments[0] + if (map.containsKey(key)) map[key] else invocation.arguments[1] + } + val bundle = Mockito.mock(Bundle::class.java) + Mockito.doAnswer { map.size }.`when`(bundle).size() + Mockito.doAnswer { map.isEmpty() }.`when`(bundle).isEmpty() + Mockito.doAnswer { + map.clear() + null + }.`when`(bundle).clear() + Mockito.doAnswer { invocation: InvocationOnMock -> map.containsKey(invocation.arguments[0]) }.`when`(bundle).containsKey(ArgumentMatchers.anyString()) + Mockito.doAnswer { invocation: InvocationOnMock -> map[invocation.arguments[0]] }.`when`(bundle)[ArgumentMatchers.anyString()] + Mockito.doAnswer { invocation: InvocationOnMock -> + map.remove(invocation.arguments[0]) + null + }.`when`(bundle).remove(ArgumentMatchers.anyString()) + Mockito.doAnswer { map.keys }.`when`(bundle).keySet() + Mockito.doAnswer { BundleMock::class.java.getSimpleName() + "{map=" + map.toString() + "}" }.`when`(bundle).toString() + Mockito.doAnswer(put).`when`(bundle).putBoolean(ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean()) + Mockito.`when`(bundle.getBoolean(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getBoolean(ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putByte(ArgumentMatchers.anyString(), ArgumentMatchers.anyByte()) + Mockito.`when`(bundle.getByte(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getByte(ArgumentMatchers.anyString(), ArgumentMatchers.anyByte())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putChar(ArgumentMatchers.anyString(), ArgumentMatchers.anyChar()) + Mockito.`when`(bundle.getChar(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getChar(ArgumentMatchers.anyString(), ArgumentMatchers.anyChar())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putInt(ArgumentMatchers.anyString(), ArgumentMatchers.anyShort().toInt()) + Mockito.`when`(bundle.getShort(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getShort(ArgumentMatchers.anyString(), ArgumentMatchers.anyShort())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putLong(ArgumentMatchers.anyString(), ArgumentMatchers.anyLong()) + Mockito.`when`(bundle.getLong(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getLong(ArgumentMatchers.anyString(), ArgumentMatchers.anyLong())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putFloat(ArgumentMatchers.anyString(), ArgumentMatchers.anyFloat()) + Mockito.`when`(bundle.getFloat(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getFloat(ArgumentMatchers.anyString(), ArgumentMatchers.anyFloat())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putDouble(ArgumentMatchers.anyString(), ArgumentMatchers.anyDouble()) + Mockito.`when`(bundle.getDouble(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getDouble(ArgumentMatchers.anyString(), ArgumentMatchers.anyDouble())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putString(ArgumentMatchers.anyString(), ArgumentMatchers.anyString()) + Mockito.`when`(bundle.getString(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getString(ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putBooleanArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(BooleanArray::class.java)) + Mockito.`when`(bundle.getBooleanArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putLongArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(LongArray::class.java)) + Mockito.`when`(bundle.getLongArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putDoubleArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(DoubleArray::class.java)) + Mockito.`when`(bundle.getDoubleArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putIntArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(IntArray::class.java)) + Mockito.`when`(bundle.getIntArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putInt(ArgumentMatchers.anyString(), ArgumentMatchers.anyInt()) + Mockito.`when`(bundle.getInt(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getInt(ArgumentMatchers.anyString(), ArgumentMatchers.anyInt())).thenAnswer(getOrDefault) + Mockito.doAnswer(unsupported).`when`(bundle).putAll(ArgumentMatchers.any(Bundle::class.java)) + Mockito.`when`(bundle.hasFileDescriptors()).thenAnswer(unsupported) + Mockito.doAnswer(put).`when`(bundle).putShort(ArgumentMatchers.anyString(), ArgumentMatchers.anyShort()) + Mockito.`when`(bundle.getShort(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getShort(ArgumentMatchers.anyString(), ArgumentMatchers.anyShort())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putFloat(ArgumentMatchers.anyString(), ArgumentMatchers.anyFloat()) + Mockito.`when`(bundle.getFloat(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getFloat(ArgumentMatchers.anyString(), ArgumentMatchers.anyFloat())).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putCharSequence(ArgumentMatchers.anyString(), ArgumentMatchers.any(CharSequence::class.java)) + Mockito.`when`(bundle.getCharSequence(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.`when`(bundle.getCharSequence(ArgumentMatchers.anyString(), ArgumentMatchers.any(CharSequence::class.java))).thenAnswer(getOrDefault) + Mockito.doAnswer(put).`when`(bundle).putBundle(ArgumentMatchers.anyString(), ArgumentMatchers.any(Bundle::class.java)) + Mockito.`when`(bundle.getBundle(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putParcelable(ArgumentMatchers.anyString(), ArgumentMatchers.any(Parcelable::class.java)) + Mockito.`when`(bundle.getParcelable(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putParcelableArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(Array::class.java)) + Mockito.`when`(bundle.getParcelableArray(ArgumentMatchers.anyString())).thenAnswer(get) +// Mockito.doAnswer(put).`when`(bundle).putParcelableArrayList(ArgumentMatchers.anyString(), ArgumentMatchers.any(ArrayList::class.java)) + Mockito.`when`(bundle.getParcelableArrayList(ArgumentMatchers.anyString())).thenAnswer(get) +// Mockito.doAnswer(put).`when`(bundle).putSparseParcelableArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(SparseArray::class.java)) + Mockito.`when`(bundle.getSparseParcelableArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putSerializable(ArgumentMatchers.anyString(), ArgumentMatchers.any(Serializable::class.java)) + Mockito.`when`(bundle.getSerializable(ArgumentMatchers.anyString())).thenAnswer(get) +// Mockito.doAnswer(put).`when`(bundle).putIntegerArrayList(ArgumentMatchers.anyString(), ArgumentMatchers.any(ArrayList::class.java)) + Mockito.`when`(bundle.getIntegerArrayList(ArgumentMatchers.anyString())).thenAnswer(get) +// Mockito.doAnswer(put).`when`(bundle).putStringArrayList(ArgumentMatchers.anyString(), ArgumentMatchers.any(ArrayList::class.java)) + Mockito.`when`(bundle.getStringArrayList(ArgumentMatchers.anyString())).thenAnswer(get) +// Mockito.doAnswer(put).`when`(bundle).putCharSequenceArrayList(ArgumentMatchers.anyString(), ArgumentMatchers.any(ArrayList::class.java)) + Mockito.`when`(bundle.getCharSequenceArrayList(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putCharArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(CharArray::class.java)) + Mockito.`when`(bundle.getCharArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putByteArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(ByteArray::class.java)) + Mockito.`when`(bundle.getByteArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putShortArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(ShortArray::class.java)) + Mockito.`when`(bundle.getShortArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putFloatArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(FloatArray::class.java)) + Mockito.`when`(bundle.getFloatArray(ArgumentMatchers.anyString())).thenAnswer(get) + Mockito.doAnswer(put).`when`(bundle).putCharSequenceArray(ArgumentMatchers.anyString(), ArgumentMatchers.any(Array::class.java)) + Mockito.`when`(bundle.getCharSequenceArray(ArgumentMatchers.anyString())).thenAnswer(get) + return bundle + } +} \ No newline at end of file