You are on page 1of 2

/Users/rd/Desktop/UA/UA_6_Semestre/TQS/PrepExame/EasyMock/src/test/java/pt/ua/tqs/easymock/CurrencyConverterTest.

java
Page 1 of 2 Mon Jun 10 15:58:01 2019
1 /*
2 * To change this license header, choose License Headers in
Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6 package pt.ua.tqs.easymock;
7 import java.util.HashMap;
8 import java.util.Map;
9 import org.easymock.EasyMock;
10 import org.junit.Assert;
11 import org.junit.Before;
12 import org.junit.Test;
13
14 /**
15 *
16 * @author rd
17 */
18 public class CurrencyConverterTest {
19
20 public CurrencyConverterTest() {}
21
22 private CurrencyConverter currencyConverter;
23 private RatesProvider ratesProviderMock;
24
25
26 @Before
27 public void setUp()
28 {
29 // create mock
30 ratesProviderMock = EasyMock.createMock(RatesProvider.class);
31 //pass it to test class
32 currencyConverter = new CurrencyConverter(ratesProviderMock);
33 }
34
35
36 @Test
37 public void testConvertCurrencyOk()
38 {
39 System.out.println("testConvertCurrencyOk");
40
41 EasyMock.expect(ratesProviderMock.getCurrentRate("EUR",
"DOL")).andReturn(2.0);
42 EasyMock.replay(ratesProviderMock);
43
44 Assert.assertEquals((Double)4.0,
(Double)currencyConverter.convert("EUR", "DOL", 2.0));
45 }
46
47
48 @Test (expected = IllegalArgumentException.class)
49 public void testConvertCurrencyUnknown()
50 {
51 System.out.println("testConvertCurrencyUnknown");
52
53 EasyMock.expect(ratesProviderMock.getCurrentRate("EUR",
- 1 -
/Users/rd/Desktop/UA/UA_6_Semestre/TQS/PrepExame/EasyMock/src/test/java/pt/ua/tqs/easymock/CurrencyConverterTest.java
Page 2 of 2 Mon Jun 10 15:58:01 2019
"DOL")).andThrow(new IllegalArgumentException());
54 EasyMock.replay(ratesProviderMock);
55
56 currencyConverter.convert("EUR", "DOL", 2.0);
57 }
58
59
60 @Test (expected = IllegalStateException.class)
61 public void convertForeignToDomesticDomesticCurrencyNotSet()
62 {
63
System.out.println("convertForeignToDomesticDomesticCurrency
NotSet");
64 Map<String, Double> tmp = new HashMap<>();
65 tmp.put("DOL", 2.0);
66 tmp.put("POUND", 3.0);
67
68
EasyMock.expect(ratesProviderMock.getCurrentRates("EUR")).an
dReturn(tmp);
69 EasyMock.replay(ratesProviderMock);
70
71 currencyConverter.convertForeignToDomestic("DOL", 4.0);
72 }
73
74
75 @Test
76 public void convertForeignToDomesticOk()
77 {
78 System.out.println("convertForeignToDomesticOk");
79
80 currencyConverter.setDomesticCurrencyCode("EUR");
81
82 Map<String, Double> tmp = new HashMap<>();
83 tmp.put("DOL", 2.0);
84 tmp.put("POUND", 3.0);
85
86
EasyMock.expect(ratesProviderMock.getCurrentRates("EUR")).an
dReturn(tmp);
87 EasyMock.replay(ratesProviderMock);
88
89
Assert.assertEquals((Double)currencyConverter.convertForeign
ToDomestic("DOL", 4.0), (Double) 8.0);
90 }
91
92
93
94 }
95

- 2 -

You might also like