OSDN Git Service

882e591dd61d3001bc582fea5081403b5951d9e1
[hayashilib/hayashi.git] / test / jp / co / areaweb / tools / core / TestTax.java
1 /*
2  * Created on 2005/06/09
3  *
4  */
5 package jp.co.areaweb.tools.core;
6
7 import jp.co.areaweb.tools.core.Tax;
8 import junit.framework.TestCase;
9
10 /**
11  * @author y_hayashi
12  *
13  */
14 public class TestTax extends TestCase {
15
16         /**
17          * テスト1
18          * 総額から税引き価格を求める
19          */
20         public void test001() throws Exception {
21                 assertEquals(95L, Tax.calcBody(100L));
22                 assertEquals(5L, Tax.calcTax(100L));
23                 assertEquals(5L, Tax.toTax(95L));
24                 assertEquals(100L, Tax.toTotal(95L));
25         }
26         
27         /**
28          * テスト2
29          * 端数は四捨五入されること
30          */
31         public void test002() throws Exception {
32                 assertEquals(99L, Tax.calcBody(104L));          // 99.04
33                 assertEquals(5L, Tax.calcTax(104L));
34                 assertEquals(100L, Tax.calcBody(105L));         // 100.0
35                 assertEquals(5L, Tax.calcTax(105L));
36                 assertEquals(101L, Tax.calcBody(106L));         // 100.9
37                 assertEquals(5L, Tax.calcTax(106L));
38                 assertEquals(102L, Tax.calcBody(107L));         // 101.9
39                 assertEquals(5L, Tax.calcTax(106L));
40
41                 assertEquals(5L, Tax.toTax(99L));
42                 assertEquals(104L, Tax.toTotal(99L));
43                 assertEquals(5L, Tax.toTax(100L));
44                 assertEquals(105L, Tax.toTotal(100L));
45                 assertEquals(5L, Tax.toTax(101L));
46                 assertEquals(106L, Tax.toTotal(101L));
47                 assertEquals(5L, Tax.toTax(102L));
48                 assertEquals(107L, Tax.toTotal(102L));
49         }
50
51         /**
52          * テスト3
53          * 10兆円までは計算できる。
54          */
55         public void test003() throws Exception {
56                 try {
57                         assertEquals(9523809523810L, Tax.calcBody(10000000000000L));
58                         assertEquals(476190476190L, Tax.calcTax(10000000000000L));
59                         assertEquals(500000000000L, Tax.toTax(10000000000000L));
60                         assertEquals(10500000000000L, Tax.toTotal(10000000000000L));
61                 }
62                 catch (Exception e) {
63                         fail();         // 例外が発生
64                 }
65         }
66
67         /**
68          * テスト4
69          * 数値が負の場合
70          */
71         public void test004() throws Exception {
72                 assertEquals(-95L, Tax.calcBody(-100L));
73                 assertEquals(-5L, Tax.calcTax(-100L));
74                 assertEquals(-5L, Tax.toTax(-95L));
75                 assertEquals(-100L, Tax.toTotal(-95L));
76         }
77 }