OSDN Git Service

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