Skip to content

Commit 8b42f6f

Browse files
committed
Tested independency of TCK from moneta, by removing the current JSR dependency completely.
1 parent c981886 commit 8b42f6f

File tree

5 files changed

+213
-20
lines changed

5 files changed

+213
-20
lines changed

money-ri-test.iml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.6" level="project" />
2323
<orderEntry type="library" name="Maven: org.jboss.test-audit:jboss-test-audit-api:1.1.0.Final" level="project" />
2424
<orderEntry type="library" name="Maven: org.jboss.test-audit:jboss-test-audit-impl:1.1.0.Final" level="project" />
25-
<orderEntry type="module" module-name="moneta" />
26-
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
2725
</component>
2826
<component name="org.twodividedbyzero.idea.findbugs">
2927
<option name="_basePreferences">

src/main/java/MyCurrency.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import javax.money.CurrencyContext;
2+
import javax.money.CurrencyContextBuilder;
3+
import javax.money.CurrencyUnit;
4+
5+
/**
6+
* Test implk class for currencies.
7+
*/
8+
public final class MyCurrency implements CurrencyUnit {
9+
@Override
10+
public String getCurrencyCode() {
11+
return "N/A";
12+
}
13+
14+
@Override
15+
public int getNumericCode() {
16+
return 0;
17+
}
18+
19+
@Override
20+
public int getDefaultFractionDigits() {
21+
return 0;
22+
}
23+
24+
@Override
25+
public CurrencyContext getContext() {
26+
return CurrencyContextBuilder.of("MyCurrency").build();
27+
}
28+
29+
@Override
30+
public int compareTo(CurrencyUnit o) {
31+
return 0;
32+
}
33+
}

src/main/java/MyMoney.java

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
import javax.money.CurrencyUnit;
2+
import javax.money.MonetaryAmount;
3+
import javax.money.MonetaryAmountFactory;
4+
import javax.money.MonetaryContext;
5+
import javax.money.NumberValue;
6+
7+
/**
8+
* Created by Anatole on 04.03.2015.
9+
*/
10+
public final class MyMoney implements MonetaryAmount {
11+
@Override
12+
public MonetaryContext getContext() {
13+
return null;
14+
}
15+
16+
@Override
17+
public MonetaryAmountFactory<? extends MonetaryAmount> getFactory() {
18+
return null;
19+
}
20+
21+
@Override
22+
public boolean isGreaterThan(MonetaryAmount amount) {
23+
return false;
24+
}
25+
26+
@Override
27+
public boolean isGreaterThanOrEqualTo(MonetaryAmount amount) {
28+
return false;
29+
}
30+
31+
@Override
32+
public boolean isLessThan(MonetaryAmount amount) {
33+
return false;
34+
}
35+
36+
@Override
37+
public boolean isLessThanOrEqualTo(MonetaryAmount amt) {
38+
return false;
39+
}
40+
41+
@Override
42+
public boolean isEqualTo(MonetaryAmount amount) {
43+
return false;
44+
}
45+
46+
@Override
47+
public int signum() {
48+
return 0;
49+
}
50+
51+
@Override
52+
public MonetaryAmount add(MonetaryAmount amount) {
53+
return null;
54+
}
55+
56+
@Override
57+
public MonetaryAmount subtract(MonetaryAmount amount) {
58+
return null;
59+
}
60+
61+
@Override
62+
public MonetaryAmount multiply(long multiplicand) {
63+
return null;
64+
}
65+
66+
@Override
67+
public MonetaryAmount multiply(double multiplicand) {
68+
return null;
69+
}
70+
71+
@Override
72+
public MonetaryAmount multiply(Number multiplicand) {
73+
return null;
74+
}
75+
76+
@Override
77+
public MonetaryAmount divide(long divisor) {
78+
return null;
79+
}
80+
81+
@Override
82+
public MonetaryAmount divide(double divisor) {
83+
return null;
84+
}
85+
86+
@Override
87+
public MonetaryAmount divide(Number divisor) {
88+
return null;
89+
}
90+
91+
@Override
92+
public MonetaryAmount remainder(long divisor) {
93+
return null;
94+
}
95+
96+
@Override
97+
public MonetaryAmount remainder(double divisor) {
98+
return null;
99+
}
100+
101+
@Override
102+
public MonetaryAmount remainder(Number divisor) {
103+
return null;
104+
}
105+
106+
@Override
107+
public MonetaryAmount[] divideAndRemainder(long divisor) {
108+
return new MonetaryAmount[0];
109+
}
110+
111+
@Override
112+
public MonetaryAmount[] divideAndRemainder(double divisor) {
113+
return new MonetaryAmount[0];
114+
}
115+
116+
@Override
117+
public MonetaryAmount[] divideAndRemainder(Number divisor) {
118+
return new MonetaryAmount[0];
119+
}
120+
121+
@Override
122+
public MonetaryAmount divideToIntegralValue(long divisor) {
123+
return null;
124+
}
125+
126+
@Override
127+
public MonetaryAmount divideToIntegralValue(double divisor) {
128+
return null;
129+
}
130+
131+
@Override
132+
public MonetaryAmount divideToIntegralValue(Number divisor) {
133+
return null;
134+
}
135+
136+
@Override
137+
public MonetaryAmount scaleByPowerOfTen(int power) {
138+
return null;
139+
}
140+
141+
@Override
142+
public MonetaryAmount abs() {
143+
return null;
144+
}
145+
146+
@Override
147+
public MonetaryAmount negate() {
148+
return null;
149+
}
150+
151+
@Override
152+
public MonetaryAmount plus() {
153+
return null;
154+
}
155+
156+
@Override
157+
public MonetaryAmount stripTrailingZeros() {
158+
return null;
159+
}
160+
161+
@Override
162+
public int compareTo(MonetaryAmount o) {
163+
return 0;
164+
}
165+
166+
@Override
167+
public CurrencyUnit getCurrency() {
168+
return null;
169+
}
170+
171+
@Override
172+
public NumberValue getNumber() {
173+
return null;
174+
}
175+
}
Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,11 @@
1414
* the License.
1515
*/
1616

17-
import org.javamoney.moneta.FastMoney;
18-
import org.javamoney.moneta.function.MonetaryFunctions;
19-
import org.javamoney.moneta.function.MonetaryUtil;
2017
import org.javamoney.tck.JSR354TestConfiguration;
2118

2219
import javax.money.MonetaryOperator;
2320
import javax.money.MonetaryRoundings;
2421
import javax.money.convert.MonetaryConversions;
25-
import java.math.BigDecimal;
26-
import java.math.MathContext;
2722
import java.util.ArrayList;
2823
import java.util.Arrays;
2924
import java.util.Collection;
@@ -35,7 +30,7 @@
3530
* <p>
3631
* Created by Anatole Tresch on 14.06.2014.
3732
*/
38-
public final class MonetaTCKSetup implements JSR354TestConfiguration {
33+
public final class TCKTestSetup implements JSR354TestConfiguration {
3934

4035
/**
4136
* Provide the MonetaryAmount implementation classes to be tested for immutability and other
@@ -46,7 +41,7 @@ public final class MonetaTCKSetup implements JSR354TestConfiguration {
4641
@Override
4742
public Collection<Class> getAmountClasses() {
4843
return Arrays
49-
.asList(new Class[]{FastMoney.class, FastMoney.class});
44+
.asList(new Class[]{MyMoney.class});
5045
}
5146

5247
/**
@@ -59,8 +54,8 @@ public Collection<Class> getAmountClasses() {
5954
public Collection<Class> getCurrencyClasses() {
6055
try {
6156
return Arrays
62-
.asList(new Class[]{Class.forName("org.javamoney.moneta.internal.JDKCurrencyAdapter")});
63-
} catch (ClassNotFoundException e) {
57+
.asList(new Class[]{MyCurrency.class});
58+
} catch (Exception e) {
6459
e.printStackTrace();
6560
throw new RuntimeException("Currency class not lodable: org.javamoney.moneta.internal.JDKCurrencyAdapter");
6661
}
@@ -75,14 +70,6 @@ public Collection<Class> getCurrencyClasses() {
7570
@Override
7671
public Collection<MonetaryOperator> getMonetaryOperators4Test() {
7772
List<MonetaryOperator> ops = new ArrayList<>();
78-
ops.add(MonetaryUtil.majorPart());
79-
ops.add(MonetaryUtil.minorPart());
80-
ops.add(MonetaryUtil.percent(BigDecimal.ONE));
81-
ops.add(MonetaryUtil.percent(3.5));
82-
ops.add(MonetaryUtil.permil(10.3));
83-
ops.add(MonetaryUtil.permil(BigDecimal.ONE));
84-
ops.add(MonetaryUtil.permil(10.5, MathContext.DECIMAL32));
85-
ops.add(MonetaryUtil.reciprocal());
8673
ops.add(MonetaryRoundings.getDefaultRounding());
8774
ops.add(MonetaryConversions.getConversion("EUR"));
8875
return ops;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
MonetaTCKSetup
1+
TCKTestSetup

0 commit comments

Comments
 (0)