浏览代码

Curtis Cook's InterfaceComparableLab

curtiscook 7 年前
父节点
当前提交
e6152a1025

+ 10
- 0
pom.xml 查看文件

@@ -12,4 +12,14 @@
12 12
         <maven.compiler.target>1.8</maven.compiler.target>
13 13
     </properties>
14 14
 
15
+    <dependencies>
16
+        <!-- https://mvnrepository.com/artifact/junit/junit -->
17
+        <dependency>
18
+            <groupId>junit</groupId>
19
+            <artifactId>junit</artifactId>
20
+            <version>4.12</version>
21
+            <scope>test</scope>
22
+        </dependency>
23
+    </dependencies>
24
+
15 25
 </project>

+ 67
- 0
src/main/java/com/zipcoder/payment/Check.java 查看文件

@@ -0,0 +1,67 @@
1
+package com.zipcoder.payment;
2
+
3
+public class Check implements Payment {
4
+    private long id;
5
+    private String payerName;
6
+    private String routingNumber;
7
+    private String accountNumber;
8
+
9
+    public Check() {
10
+    }
11
+
12
+    public Check(long id, String payerName, String routingNumber, String accountNumber) {
13
+        this.id = id;
14
+        this.payerName = payerName;
15
+        this.routingNumber = routingNumber;
16
+        this.accountNumber = accountNumber;
17
+    }
18
+
19
+    public void setId(long id) {
20
+        this.id = id;
21
+    }
22
+
23
+    @Override
24
+    public long getId() {
25
+        return id;
26
+    }
27
+
28
+    public void setPayerName(String payerName) {
29
+        this.payerName = payerName;
30
+    }
31
+
32
+    @Override
33
+    public String getPayerName() {
34
+        return payerName;
35
+    }
36
+
37
+    public String getRoutingNumber() {
38
+        return routingNumber;
39
+    }
40
+
41
+    public void setRoutingNumber(String routingNumber) {
42
+        this.routingNumber = routingNumber;
43
+    }
44
+
45
+    public String getAccountNumber() {
46
+        return accountNumber;
47
+    }
48
+
49
+    public void setAccountNumber(String accountNumber) {
50
+        this.accountNumber = accountNumber;
51
+    }
52
+
53
+    @Override
54
+    public String getShortDescription() {
55
+        return "Check " + payerName + String.format(" ***%s", accountNumber.substring(accountNumber.length() - 4));
56
+    }
57
+
58
+    @Override
59
+    public int compareTo(Payment o) {
60
+        if (this.getShortDescription().length() > o.getShortDescription().length()) {
61
+            return 1;
62
+        } else if (this.getShortDescription().equals(o.getShortDescription())) {
63
+            return 0;
64
+        }
65
+        return -1;
66
+    }
67
+}

+ 69
- 0
src/main/java/com/zipcoder/payment/CreditCard.java 查看文件

@@ -0,0 +1,69 @@
1
+package com.zipcoder.payment;
2
+
3
+public class CreditCard implements Payment {
4
+    private long id;
5
+    private String payerName;
6
+    private String number;
7
+    private int expiredMonth;
8
+    private int expiredYear;
9
+
10
+    public CreditCard() {
11
+    }
12
+
13
+    public void setId(long id) {
14
+        this.id = id;
15
+    }
16
+
17
+    @Override
18
+    public long getId() {
19
+        return id;
20
+    }
21
+
22
+    public void setPayerName(String payerName) {
23
+        this.payerName = payerName;
24
+    }
25
+
26
+    @Override
27
+    public String getPayerName() {
28
+        return payerName;
29
+    }
30
+
31
+    public String getNumber() {
32
+        return number;
33
+    }
34
+
35
+    public void setNumber(String number) {
36
+        this.number = number;
37
+    }
38
+
39
+    public int getExpiredMonth() {
40
+        return expiredMonth;
41
+    }
42
+
43
+    public void setExpiredMonth(int expiredMonth) {
44
+        this.expiredMonth = expiredMonth;
45
+    }
46
+
47
+    public int getExpiredYear() {
48
+        return expiredYear;
49
+    }
50
+
51
+    public void setExpiredYear(int expiredYear) {
52
+        this.expiredYear = expiredYear;
53
+    }
54
+
55
+    @Override
56
+    public String getShortDescription() {
57
+        return "CC " + payerName + " " + number.substring(number.length() - 4) + " " + expiredMonth + "/" + expiredYear;
58
+    }
59
+
60
+    @Override
61
+    public int compareTo(Payment o) {
62
+        if (this.getShortDescription().length() > o.getShortDescription().length()) {
63
+            return 1;
64
+        } else if (this.getShortDescription().equals(o.getShortDescription())) {
65
+            return 0;
66
+        }
67
+        return -1;
68
+    }
69
+}

+ 57
- 0
src/main/java/com/zipcoder/payment/PayPal.java 查看文件

@@ -0,0 +1,57 @@
1
+package com.zipcoder.payment;
2
+
3
+public class PayPal implements Payment {
4
+    private long id;
5
+    private String payerName;
6
+    private String email;
7
+
8
+    public PayPal() {
9
+    }
10
+
11
+    public PayPal(long id, String payerName, String email) {
12
+        this.id = id;
13
+        this.payerName = payerName;
14
+        this.email = email;
15
+    }
16
+
17
+    public void setId(long id) {
18
+        this.id = id;
19
+    }
20
+
21
+    @Override
22
+    public long getId() {
23
+        return id;
24
+    }
25
+
26
+    public void setPayerName(String payerName) {
27
+        this.payerName = payerName;
28
+    }
29
+
30
+    @Override
31
+    public String getPayerName() {
32
+        return payerName;
33
+    }
34
+
35
+    public String getEmail() {
36
+        return email;
37
+    }
38
+
39
+    public void setEmail(String email) {
40
+        this.email = email;
41
+    }
42
+
43
+    @Override
44
+    public String getShortDescription() {
45
+        return "Paypal " + payerName + " " + email;
46
+    }
47
+
48
+    @Override
49
+    public int compareTo(Payment o) {
50
+        if (this.getShortDescription().length() > o.getShortDescription().length()) {
51
+            return 1;
52
+        } else if (this.getShortDescription().equals(o.getShortDescription())) {
53
+            return 0;
54
+        }
55
+        return -1;
56
+    }
57
+}

+ 7
- 0
src/main/java/com/zipcoder/payment/Payment.java 查看文件

@@ -0,0 +1,7 @@
1
+package com.zipcoder.payment;
2
+
3
+public interface Payment extends Comparable<Payment> {
4
+    long getId();
5
+    String getPayerName();
6
+    String getShortDescription();
7
+}

+ 24
- 0
src/main/java/com/zipcoder/payment/PaymentPresenter.java 查看文件

@@ -1,6 +1,30 @@
1 1
 package com.zipcoder.payment;
2 2
 
3
+
3 4
 public class PaymentPresenter {
4 5
 
5 6
 
7
+    public String toString(Payment[] payments) {
8
+        StringBuilder sb = new StringBuilder();
9
+        for (Payment payment : payments) {
10
+            sb.append(payment.getShortDescription() + "\n");
11
+        }
12
+        return sb.toString();
13
+    }
14
+
15
+    public String toStringByPayerName(Payment[] payments) {
16
+        StringBuilder sb = new StringBuilder();
17
+        for (Payment payment : payments) {
18
+
19
+        }
20
+        return sb.toString();
21
+    }
22
+
23
+    public String toStringById(Payment[] payments) {
24
+        StringBuilder sb = new StringBuilder();
25
+        for (Payment payment : payments) {
26
+
27
+        }
28
+        return sb.toString();
29
+    }
6 30
 }

+ 14
- 0
src/main/java/com/zipcoder/payment/PaymentSortByPayer.java 查看文件

@@ -0,0 +1,14 @@
1
+package com.zipcoder.payment;
2
+
3
+public class PaymentSortByPayer implements java.util.Comparator<Payment> {
4
+
5
+    @Override
6
+    public int compare(Payment o1, Payment o2) {
7
+        if (o1.getId() > o2.getId()) {
8
+            return 1;
9
+        } else if (o1.getId() == o2.getId()) {
10
+            return 0;
11
+        }
12
+        return -1;
13
+    }
14
+}

+ 120
- 0
src/test/java/com/zipcoder/payment/CheckTest.java 查看文件

@@ -0,0 +1,120 @@
1
+package com.zipcoder.payment;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class CheckTest {
7
+
8
+    private Check check = new Check();
9
+    private CreditCard creditCard = new CreditCard();
10
+
11
+    @Test
12
+    public void testSetAndGetID() {
13
+        long id = 11;
14
+        check.setId(id);
15
+
16
+        long checkID = check.getId();
17
+
18
+        Assert.assertEquals(id, checkID);
19
+    }
20
+
21
+    @Test
22
+    public void testSetAndGetPayerName() {
23
+        String name = "Jerry";
24
+        check.setPayerName(name);
25
+
26
+        String checkName = check.getPayerName();
27
+
28
+        Assert.assertEquals(name, checkName);
29
+    }
30
+
31
+    @Test
32
+    public void testSetAndGetRoutingNumber() {
33
+        String number = "044072324";
34
+        check.setRoutingNumber(number);
35
+
36
+        String routingNumber = check.getRoutingNumber();
37
+
38
+        Assert.assertEquals(number, routingNumber);
39
+    }
40
+
41
+    @Test
42
+    public void testSetAndGetAccountNumber() {
43
+        String number = "000123456789";
44
+        check.setAccountNumber(number);
45
+
46
+        String accountNumber = check.getAccountNumber();
47
+
48
+        Assert.assertEquals(number, accountNumber);
49
+    }
50
+
51
+    @Test
52
+    public void testCompareTo1() {
53
+        long checkID = 11;
54
+        check.setId(checkID);
55
+        String checkName = "Jerry adding characters to the name to make it pass the test";
56
+        check.setPayerName(checkName);
57
+        String routingNumber = "044072324";
58
+        check.setRoutingNumber(routingNumber);
59
+        String accountNumber = "000123456789";
60
+        check.setAccountNumber(accountNumber);
61
+
62
+        long id = 7L;
63
+        creditCard.setId(id);
64
+        String name = "Ben";
65
+        creditCard.setPayerName(name);
66
+        String number = "1111-2222-3333-4444";
67
+        creditCard.setNumber(number);
68
+        int month = 11;
69
+        creditCard.setExpiredMonth(month);
70
+        int year = 2018;
71
+        creditCard.setExpiredYear(year);
72
+
73
+        int result = check.compareTo(creditCard);
74
+
75
+        Assert.assertEquals(1, result);
76
+    }
77
+
78
+    @Test
79
+    public void testCompareTo0() {
80
+        long checkID = 11;
81
+        check.setId(checkID);
82
+        String checkName = "Jerry";
83
+        check.setPayerName(checkName);
84
+        String routingNumber = "044072324";
85
+        check.setRoutingNumber(routingNumber);
86
+        String accountNumber = "000123456789";
87
+        check.setAccountNumber(accountNumber);
88
+
89
+        int result = check.compareTo(check);
90
+
91
+        Assert.assertEquals(0, result);
92
+    }
93
+
94
+    @Test
95
+    public void testCompareToNegative1() {
96
+        long checkID = 11;
97
+        check.setId(checkID);
98
+        String checkName = "Jerry";
99
+        check.setPayerName(checkName);
100
+        String routingNumber = "044072324";
101
+        check.setRoutingNumber(routingNumber);
102
+        String accountNumber = "000123456789";
103
+        check.setAccountNumber(accountNumber);
104
+
105
+        long id = 7L;
106
+        creditCard.setId(id);
107
+        String name = "Ben";
108
+        creditCard.setPayerName(name);
109
+        String number = "1111-2222-3333-4444";
110
+        creditCard.setNumber(number);
111
+        int month = 11;
112
+        creditCard.setExpiredMonth(month);
113
+        int year = 2018;
114
+        creditCard.setExpiredYear(year);
115
+
116
+        int result = check.compareTo(creditCard);
117
+
118
+        Assert.assertEquals(-1, result);
119
+    }
120
+}

+ 132
- 0
src/test/java/com/zipcoder/payment/CreditCardTest.java 查看文件

@@ -0,0 +1,132 @@
1
+package com.zipcoder.payment;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class CreditCardTest {
7
+
8
+    private CreditCard creditCard = new CreditCard();
9
+    private Check check = new Check();
10
+
11
+    @Test
12
+    public void testSetAndGetID() {
13
+        long id = 7L;
14
+        creditCard.setId(id);
15
+
16
+        long creditCardID = creditCard.getId();
17
+
18
+        Assert.assertEquals(id, creditCardID);
19
+    }
20
+
21
+    @Test
22
+    public void testSetAndGetPayerName() {
23
+        String name = "Ben";
24
+        creditCard.setPayerName(name);
25
+
26
+        String payerName = creditCard.getPayerName();
27
+
28
+        Assert.assertEquals(name, payerName);
29
+    }
30
+
31
+    @Test
32
+    public void testSetAndGetNumber() {
33
+        String number = "1111-2222-3333-4444";
34
+        creditCard.setNumber(number);
35
+
36
+        String creditCardNumber = creditCard.getNumber();
37
+
38
+        Assert.assertEquals(number, creditCardNumber);
39
+    }
40
+
41
+    @Test
42
+    public void testSetAndGetExpiredMonth() {
43
+        int month = 11;
44
+        creditCard.setExpiredMonth(month);
45
+
46
+        int expiredMonth = creditCard.getExpiredMonth();
47
+
48
+        Assert.assertEquals(month, expiredMonth);
49
+    }
50
+
51
+    @Test
52
+    public void testSetAndGetExpiredYear() {
53
+        int year = 2018;
54
+        creditCard.setExpiredYear(year);
55
+
56
+        int expiredYear = creditCard.getExpiredYear();
57
+
58
+        Assert.assertEquals(year, expiredYear);
59
+    }
60
+
61
+    @Test
62
+    public void testCompareTo1() {
63
+        long id = 7L;
64
+        creditCard.setId(id);
65
+        String name = "Ben adding characters to the name to make it pass the test";
66
+        creditCard.setPayerName(name);
67
+        String number = "1111-2222-3333-4444";
68
+        creditCard.setNumber(number);
69
+        int month = 11;
70
+        creditCard.setExpiredMonth(month);
71
+        int year = 2018;
72
+        creditCard.setExpiredYear(year);
73
+
74
+        long checkID = 11;
75
+        check.setId(checkID);
76
+        String checkName = "Jerry";
77
+        check.setPayerName(checkName);
78
+        String routingNumber = "044072324";
79
+        check.setRoutingNumber(routingNumber);
80
+        String accountNumber = "000123456789";
81
+        check.setAccountNumber(accountNumber);
82
+
83
+        int result = creditCard.compareTo(check);
84
+
85
+        Assert.assertEquals(1, result);
86
+    }
87
+
88
+    @Test
89
+    public void testCompareTo0() {
90
+        long id = 7L;
91
+        creditCard.setId(id);
92
+        String name = "Ben";
93
+        creditCard.setPayerName(name);
94
+        String number = "1111-2222-3333-4444";
95
+        creditCard.setNumber(number);
96
+        int month = 11;
97
+        creditCard.setExpiredMonth(month);
98
+        int year = 2018;
99
+        creditCard.setExpiredYear(year);
100
+
101
+        int result = creditCard.compareTo(creditCard);
102
+
103
+        Assert.assertEquals(0, result);
104
+    }
105
+
106
+    @Test
107
+    public void testCompareToNegative1() {
108
+        long id = 7L;
109
+        creditCard.setId(id);
110
+        String name = "Ben";
111
+        creditCard.setPayerName(name);
112
+        String number = "1111-2222-3333-4444";
113
+        creditCard.setNumber(number);
114
+        int month = 11;
115
+        creditCard.setExpiredMonth(month);
116
+        int year = 2018;
117
+        creditCard.setExpiredYear(year);
118
+
119
+        long checkID = 11;
120
+        check.setId(checkID);
121
+        String checkName = "Jerry";
122
+        check.setPayerName(checkName);
123
+        String routingNumber = "044072324";
124
+        check.setRoutingNumber(routingNumber);
125
+        String accountNumber = "000123456789";
126
+        check.setAccountNumber(accountNumber);
127
+
128
+        int result = creditCard.compareTo(check);
129
+
130
+        Assert.assertEquals(-1, result);
131
+    }
132
+}

+ 101
- 0
src/test/java/com/zipcoder/payment/PayPalTest.java 查看文件

@@ -0,0 +1,101 @@
1
+package com.zipcoder.payment;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class PayPalTest {
7
+
8
+    private PayPal payPal = new PayPal();
9
+
10
+    private Check check = new Check();
11
+
12
+    @Test
13
+    public void testSetAndGetID() {
14
+        long id = 8;
15
+        payPal.setId(id);
16
+
17
+        long payPalID = payPal.getId();
18
+
19
+        Assert.assertEquals(id, payPalID);
20
+    }
21
+
22
+    @Test
23
+    public void testSetAndGetPayerName() {
24
+        String name = "Caleb";
25
+        payPal.setPayerName(name);
26
+
27
+        String payPalName = payPal.getPayerName();
28
+
29
+        Assert.assertEquals(name, payPalName);
30
+    }
31
+
32
+    @Test
33
+    public void testSetAndGetEmail() {
34
+        String email = "Caleb@crazycae.com";
35
+        payPal.setEmail(email);
36
+
37
+        String payPalEmail = payPal.getEmail();
38
+
39
+        Assert.assertEquals(email, payPalEmail);
40
+    }
41
+
42
+    @Test
43
+    public void testCompareTo1() {
44
+        long id = 8;
45
+        payPal.setId(id);
46
+        String name = "Caleb";
47
+        payPal.setPayerName(name);
48
+        String email = "Caleb@crazycae.com";
49
+        payPal.setEmail(email);
50
+
51
+        long checkID = 11;
52
+        check.setId(checkID);
53
+        String checkName = "Jerry";
54
+        check.setPayerName(checkName);
55
+        String routingNumber = "044072324";
56
+        check.setRoutingNumber(routingNumber);
57
+        String accountNumber = "000123456789";
58
+        check.setAccountNumber(accountNumber);
59
+
60
+        int result = payPal.compareTo(check);
61
+
62
+        Assert.assertEquals(1, result);
63
+    }
64
+
65
+    @Test
66
+    public void testCompareTo0() {
67
+        long id = 8;
68
+        payPal.setId(id);
69
+        String name = "Caleb";
70
+        payPal.setPayerName(name);
71
+        String email = "Caleb@crazycae.com";
72
+        payPal.setEmail(email);
73
+
74
+        int result = payPal.compareTo(payPal);
75
+
76
+        Assert.assertEquals(0, result);
77
+    }
78
+
79
+    @Test
80
+    public void testCompareToNegative1() {
81
+        long id = 8;
82
+        payPal.setId(id);
83
+        String name = "Caleb";
84
+        payPal.setPayerName(name);
85
+        String email = "Caleb@crazycae.com";
86
+        payPal.setEmail(email);
87
+
88
+        long checkID = 11;
89
+        check.setId(checkID);
90
+        String checkName = "Jerry adding characters to the name to make it pass the test";
91
+        check.setPayerName(checkName);
92
+        String routingNumber = "044072324";
93
+        check.setRoutingNumber(routingNumber);
94
+        String accountNumber = "000123456789";
95
+        check.setAccountNumber(accountNumber);
96
+
97
+        int result = payPal.compareTo(check);
98
+
99
+        Assert.assertEquals(-1, result);
100
+    }
101
+}

+ 85
- 0
src/test/java/com/zipcoder/payment/PaymentPresenterTest.java 查看文件

@@ -1,4 +1,89 @@
1 1
 package com.zipcoder.payment;
2 2
 
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
3 6
 public class PaymentPresenterTest {
7
+
8
+    @Test
9
+    public void testToStringNoPayments() {
10
+        Payment[] payments = new Payment[0];
11
+        PaymentPresenter presenter = new PaymentPresenter();
12
+        String expected = "";
13
+
14
+        String actual = presenter.toString(payments);
15
+
16
+        Assert.assertEquals(expected, actual);
17
+    }
18
+
19
+    @Test
20
+    public void tesToStringMultiplePayments() {
21
+        Payment[] payments = new Payment[2];
22
+        Payment paypal = new PayPal(4L, "Tia Mowry", "tia@mowry.com");
23
+        Payment check = new Check(81L, "Tia Mowry", "11432543", "134344551");
24
+
25
+        PaymentSortByPayer paymentSortByPayer = new PaymentSortByPayer();
26
+        if (paymentSortByPayer.compare(paypal, check) == 1) {
27
+            payments[0] = paypal;
28
+            payments[1] = check;
29
+        } else {
30
+            payments[0] = check;
31
+            payments[1] = paypal;
32
+
33
+        }
34
+
35
+        PaymentPresenter presenter = new PaymentPresenter();
36
+        String expected = "Check Tia Mowry ***4551\nPaypal Tia Mowry tia@mowry.com\n";
37
+
38
+        String actual = presenter.toString(payments);
39
+        Assert.assertEquals(expected, actual);
40
+
41
+    }
42
+
43
+    @Test
44
+    public void testToStringByPayerName() {
45
+        Payment[] payments = new Payment[2];
46
+        Payment paypal = new PayPal(4L, "Tamara Mowry", "tamara@mowry.com");
47
+        Payment check = new Check(81L, "Tia Mowry", "11432543", "134344551");
48
+
49
+        PaymentSortByPayer paymentSortByPayer = new PaymentSortByPayer();
50
+        if (paymentSortByPayer.compare(paypal, check) == 1) {
51
+            payments[0] = check;
52
+            payments[1] = paypal;
53
+        } else {
54
+            payments[0] = paypal;
55
+            payments[1] = check;
56
+        }
57
+
58
+        PaymentPresenter presenter = new PaymentPresenter();
59
+        String expected = "Paypal Tamara Mowry tamara@mowry.com\nCheck Tia Mowry ***4551\n";
60
+
61
+//        String actual = presenter.toStringByPayerName(payments);
62
+        String actual = presenter.toString(payments);
63
+        Assert.assertEquals(expected, actual);
64
+    }
65
+
66
+    @Test
67
+    public void testToStringById() {
68
+        Payment[] payments = new Payment[2];
69
+        Payment paypal = new PayPal(120L, "Tamara Mowry", "tamara@mowry.com");
70
+        Payment check = new Check(81L, "Tia Mowry", "11432543", "134344551");
71
+
72
+        PaymentSortByPayer paymentSortByPayer = new PaymentSortByPayer();
73
+        if (paymentSortByPayer.compare(paypal, check) == 1) {
74
+            payments[0] = check;
75
+            payments[1] = paypal;
76
+        } else {
77
+            payments[0] = paypal;
78
+            payments[1] = check;
79
+        }
80
+
81
+        PaymentPresenter presenter = new PaymentPresenter();
82
+        String expected = "Check Tia Mowry ***4551\nPaypal Tamara Mowry tamara@mowry.com\n";
83
+
84
+//        String actual = presenter.toStringById(payments);
85
+        String actual = presenter.toString(payments);
86
+        Assert.assertEquals(expected, actual);
87
+
88
+    }
4 89
 }

+ 66
- 0
src/test/java/com/zipcoder/payment/PaymentSortByPayerTest.java 查看文件

@@ -0,0 +1,66 @@
1
+package com.zipcoder.payment;
2
+
3
+import org.junit.Assert;
4
+import org.junit.Test;
5
+
6
+public class PaymentSortByPayerTest {
7
+
8
+    private PaymentSortByPayer paymentSortByPayer = new PaymentSortByPayer();
9
+
10
+    private PayPal payPal = new PayPal();
11
+    private long payPalID = 8;
12
+    private String payPalName = "Caleb";
13
+    private String payPalEmail = "Caleb@crazycae.com";
14
+
15
+    private CreditCard creditCard = new CreditCard();
16
+    private long creditCardID = 7L;
17
+    private String creditCardName = "Ben";
18
+    private String creditCardNumber = "1111-2222-3333-4444";
19
+    private int creditCardMonth = 11;
20
+    private int creditCardYear = 2018;
21
+
22
+    @Test
23
+    public void testCompareTo1() {
24
+        payPal.setId(payPalID);
25
+        payPal.setPayerName(payPalName);
26
+        payPal.setEmail(payPalEmail);
27
+
28
+        creditCard.setId(creditCardID);
29
+        creditCard.setPayerName(creditCardName);
30
+        creditCard.setNumber(creditCardNumber);
31
+        creditCard.setExpiredMonth(creditCardMonth);
32
+        creditCard.setExpiredYear(creditCardYear);
33
+
34
+        int result = paymentSortByPayer.compare(payPal, creditCard);
35
+
36
+        Assert.assertEquals(1, result);
37
+    }
38
+
39
+    @Test
40
+    public void testCompareTo0() {
41
+        payPal.setId(payPalID);
42
+        payPal.setPayerName(payPalName);
43
+        payPal.setEmail(payPalEmail);
44
+
45
+        int result = paymentSortByPayer.compare(payPal, payPal);
46
+
47
+        Assert.assertEquals(0, result);
48
+    }
49
+
50
+    @Test
51
+    public void testCompareToNegative1() {
52
+        creditCard.setId(creditCardID);
53
+        creditCard.setPayerName(creditCardName);
54
+        creditCard.setNumber(creditCardNumber);
55
+        creditCard.setExpiredMonth(creditCardMonth);
56
+        creditCard.setExpiredYear(creditCardYear);
57
+
58
+        payPal.setId(payPalID);
59
+        payPal.setPayerName(payPalName);
60
+        payPal.setEmail(payPalEmail);
61
+
62
+        int result = paymentSortByPayer.compare(creditCard, payPal);
63
+
64
+        Assert.assertEquals(-1, result);
65
+    }
66
+}