// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/interactors/ComputeTransactionsInteractor.java
// public interface ComputeTransactionsInteractor {
// 
//     void execute(String skuFromProduct,
//                  GetTransactionsComputedCallback getTransactionsComputedCallback,
//                  String toCurrency,
//                  String pathTransactions, String pathRates) throws CustomException;
// 
// 
//     interface GetTransactionsComputedCallback {
//         void onGetTransactionsListOK(List<TransactionRatedDomain> transactionList, String totalAmount);
// 
//         void onGetTransactionListKO(String error);
//     }
// }
// 
// Path: android/src/main/java/com/raulh82vlc/TransactionsViewer/domain/interactors/mappers/TransactionsRatedDataMapper.java
// @ActivityScope
// public class TransactionsRatedDataMapper {
// 
//     @Inject
//     TransactionsRatedDataMapper() {
// 
//     }
// 
//     public List<TransactionUI> transformToUI(List<TransactionRatedDomain> transactionList) {
//         if (transactionList == null) {
//             throw new IllegalArgumentException("Cannot transform a null value");
//         }
// 
//         List<TransactionUI> transactionUIDomList = new ArrayList<>();
//         for (TransactionRatedDomain transactionRated : transactionList) {
//             transactionUIDomList.add(new TransactionUI(transactionRated.getCurrencyPrev(),
//                     transactionRated.getCurrencyCurrent(), transactionRated.getAmounPerTransactionPrev().toString(),
//                     transactionRated.getAmountPerTransactionCurrent().toString()));
//         }
//         return transactionUIDomList;
//     }
// }
// 
// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/models/TransactionRatedDomain.java
// public class TransactionRatedDomain {
//     private BigDecimal amounPerTransactionPrev;
//     private BigDecimal amountPerTransactionCurrent;
//     private String currencyPrev;
//     private String currencyCurrent;
// 
//     public TransactionRatedDomain(String currencyPrev, String currencyCurrent,
//                                   BigDecimal amounPerTransactionPrev,
//                                   BigDecimal amountPerTransactionCurrent) {
//         this.currencyPrev = currencyPrev;
//         this.currencyCurrent = currencyCurrent;
//         this.amounPerTransactionPrev = amounPerTransactionPrev;
//         this.amountPerTransactionCurrent = amountPerTransactionCurrent;
//     }
// 
//     public BigDecimal getAmounPerTransactionPrev() {
//         return amounPerTransactionPrev;
//     }
// 
//     public BigDecimal getAmountPerTransactionCurrent() {
//         return amountPerTransactionCurrent;
//     }
// 
//     public String getCurrencyPrev() {
//         return currencyPrev;
//     }
// 
//     public String getCurrencyCurrent() {
//         return currencyCurrent;
//     }
// 
// }
// 
// Path: android/src/main/java/com/raulh82vlc/TransactionsViewer/ui/presentation/ComputingTransactionsPresenter.java
// public interface ComputingTransactionsPresenter {
// 
//     void setView(View view);
// 
//     void resetView();
// 
//     void computeRates(String skuFromProduct, String toCurrency, String pathTransactions, String pathRates)
//             throws CustomException;
// 
//     interface View {
//         void errorComputingRates(String error);
// 
//         void computedRatesForTransactions(List<TransactionUI> transactions, String totalAmount);
// 
//         void visibilityChangesAfterSuccessfulComputedRates();
// 
//         void visibilityChangesAfterErrorComputedRates();
// 
//         boolean isReady();
// 
//         void startLoader();
//     }
// }


import static org.mockito.Matchers.anyList;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;
import android.support.annotation.NonNull;
import com.raulh82vlc.TransactionsViewer.domain.interactors.ComputeTransactionsInteractor;
import com.raulh82vlc.TransactionsViewer.domain.interactors.mappers.TransactionsRatedDataMapper;
import com.raulh82vlc.TransactionsViewer.domain.models.TransactionRatedDomain;
import com.raulh82vlc.TransactionsViewer.ui.presentation.ComputingTransactionsPresenter;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.verification.VerificationMode;
import java.util.List;
/*
 * Copyright (C) 2017 Raul Hernandez Lopez @raulh82vlc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.raulh82vlc.TransactionsViewer.domain.interactors_response;






/**
 * <p>Get Transactions Computed CallbackImpl interaction with its view or mapper</p>
 *
 * @author Raul Hernandez Lopez.
 */

public class GetTransactionsComputedCallbackImplTest {
    private final static String AMOUNT = "2222";
// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/interactors/ComputeTransactionsInteractor.java
// public interface ComputeTransactionsInteractor {
// 
//     void execute(String skuFromProduct,
//                  GetTransactionsComputedCallback getTransactionsComputedCallback,
//                  String toCurrency,
//                  String pathTransactions, String pathRates) throws CustomException;
// 
// 
//     interface GetTransactionsComputedCallback {
//         void onGetTransactionsListOK(List<TransactionRatedDomain> transactionList, String totalAmount);
// 
//         void onGetTransactionListKO(String error);
//     }
// }
// 
// Path: android/src/main/java/com/raulh82vlc/TransactionsViewer/domain/interactors/mappers/TransactionsRatedDataMapper.java
// @ActivityScope
// public class TransactionsRatedDataMapper {
// 
//     @Inject
//     TransactionsRatedDataMapper() {
// 
//     }
// 
//     public List<TransactionUI> transformToUI(List<TransactionRatedDomain> transactionList) {
//         if (transactionList == null) {
//             throw new IllegalArgumentException("Cannot transform a null value");
//         }
// 
//         List<TransactionUI> transactionUIDomList = new ArrayList<>();
//         for (TransactionRatedDomain transactionRated : transactionList) {
//             transactionUIDomList.add(new TransactionUI(transactionRated.getCurrencyPrev(),
//                     transactionRated.getCurrencyCurrent(), transactionRated.getAmounPerTransactionPrev().toString(),
//                     transactionRated.getAmountPerTransactionCurrent().toString()));
//         }
//         return transactionUIDomList;
//     }
// }
// 
// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/models/TransactionRatedDomain.java
// public class TransactionRatedDomain {
//     private BigDecimal amounPerTransactionPrev;
//     private BigDecimal amountPerTransactionCurrent;
//     private String currencyPrev;
//     private String currencyCurrent;
// 
//     public TransactionRatedDomain(String currencyPrev, String currencyCurrent,
//                                   BigDecimal amounPerTransactionPrev,
//                                   BigDecimal amountPerTransactionCurrent) {
//         this.currencyPrev = currencyPrev;
//         this.currencyCurrent = currencyCurrent;
//         this.amounPerTransactionPrev = amounPerTransactionPrev;
//         this.amountPerTransactionCurrent = amountPerTransactionCurrent;
//     }
// 
//     public BigDecimal getAmounPerTransactionPrev() {
//         return amounPerTransactionPrev;
//     }
// 
//     public BigDecimal getAmountPerTransactionCurrent() {
//         return amountPerTransactionCurrent;
//     }
// 
//     public String getCurrencyPrev() {
//         return currencyPrev;
//     }
// 
//     public String getCurrencyCurrent() {
//         return currencyCurrent;
//     }
// 
// }
// 
// Path: android/src/main/java/com/raulh82vlc/TransactionsViewer/ui/presentation/ComputingTransactionsPresenter.java
// public interface ComputingTransactionsPresenter {
// 
//     void setView(View view);
// 
//     void resetView();
// 
//     void computeRates(String skuFromProduct, String toCurrency, String pathTransactions, String pathRates)
//             throws CustomException;
// 
//     interface View {
//         void errorComputingRates(String error);
// 
//         void computedRatesForTransactions(List<TransactionUI> transactions, String totalAmount);
// 
//         void visibilityChangesAfterSuccessfulComputedRates();
// 
//         void visibilityChangesAfterErrorComputedRates();
// 
//         boolean isReady();
// 
//         void startLoader();
//     }
// }


// Path: android/src/test/java/com/raulh82vlc/TransactionsViewer/domain/interactors_response/GetTransactionsComputedCallbackImplTest.java
import static org.mockito.Matchers.anyList;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;
import android.support.annotation.NonNull;
import com.raulh82vlc.TransactionsViewer.domain.interactors.ComputeTransactionsInteractor;
import com.raulh82vlc.TransactionsViewer.domain.interactors.mappers.TransactionsRatedDataMapper;
import com.raulh82vlc.TransactionsViewer.domain.models.TransactionRatedDomain;
import com.raulh82vlc.TransactionsViewer.ui.presentation.ComputingTransactionsPresenter;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.verification.VerificationMode;
import java.util.List;

/*
 * Copyright (C) 2017 Raul Hernandez Lopez @raulh82vlc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.raulh82vlc.TransactionsViewer.domain.interactors_response;






/**
 * <p>Get Transactions Computed CallbackImpl interaction with its view or mapper</p>
 *
 * @author Raul Hernandez Lopez.
 */

public class GetTransactionsComputedCallbackImplTest {
    private final static String AMOUNT = "2222";
    private final static String ERROR = "ERROR";