@@ -17,38 +17,40 @@ object RaceUtil {
17
17
race match {
18
18
case AmericanIndianOrAlaskaNative =>
19
19
larSource.filter { lar =>
20
- ( lar.race1 == 1 && applicantNonWhite (lar) && coApplicantNonWhite(lar)) ||
21
- (lar.race1 == 1 && lar.race2 == " 5" && coApplicantNonWhite(lar) )
20
+ lar.race1 == 1 && coApplicantNonWhite (lar) &&
21
+ (applicantRace2Thru5Blank( lar) || lar.race2 == " 5" )
22
22
}
23
23
24
24
case Asian =>
25
25
larSource.filter { lar =>
26
- ( lar.race1 == 2 && applicantNonWhite (lar) && coApplicantNonWhite(lar)) ||
27
- (lar.race1 == 2 && lar.race2 == " 5" && coApplicantNonWhite(lar) )
26
+ lar.race1 == 2 && coApplicantNonWhite (lar) &&
27
+ (applicantRace2Thru5Blank( lar) || lar.race2 == " 5" )
28
28
}
29
29
30
30
case BlackOrAfricanAmerican =>
31
31
larSource.filter { lar =>
32
- ( lar.race1 == 3 && applicantNonWhite (lar) && coApplicantNonWhite(lar)) ||
33
- (lar.race1 == 3 && lar.race2 == " 5" && coApplicantNonWhite(lar) )
32
+ lar.race1 == 3 && coApplicantNonWhite (lar) &&
33
+ (applicantRace2Thru5Blank( lar) || lar.race2 == " 5" )
34
34
}
35
35
36
36
case HawaiianOrPacific =>
37
37
larSource.filter { lar =>
38
- ( lar.race1 == 4 && applicantNonWhite (lar) && coApplicantNonWhite(lar)) ||
39
- (lar.race1 == 4 && lar.race2 == " 5" && coApplicantNonWhite(lar) )
38
+ lar.race1 == 4 && coApplicantNonWhite (lar) &&
39
+ (applicantRace2Thru5Blank( lar) || lar.race2 == " 5" )
40
40
}
41
41
42
42
case White =>
43
- larSource.filter(lar => lar.race1 == 5 && coApplicantNonWhite(lar))
43
+ larSource.filter { lar =>
44
+ lar.race1 == 5 && applicantRace2Thru5Blank(lar) && coApplicantNonMinority(lar)
45
+ }
44
46
45
47
case TwoOrMoreMinority =>
46
48
larSource.filter(lar => applicantTwoOrMoreMinorities(lar) && coApplicantNonWhite(lar))
47
49
48
50
case Joint =>
49
51
larSource.filter { lar =>
50
52
(applicantTwoOrMoreMinorities(lar) || coApplicantTwoOrMoreMinorities(lar)) &&
51
- (applicantWhite( lar) || coApplicantWhite(lar))
53
+ (lar.race1 == 5 || coApplicantWhite(lar))
52
54
}
53
55
54
56
case NotProvided =>
@@ -57,28 +59,19 @@ object RaceUtil {
57
59
}
58
60
}
59
61
60
- private def applicantWhite (lar : LoanApplicationRegisterQuery ): Boolean = {
61
- lar.race1 == 5 &&
62
- lar.race2 == " " &&
63
- lar.race3 == " " &&
64
- lar.race4 == " " &&
65
- lar.race5 == " "
66
- }
67
-
68
- private def applicantNonWhite (lar : LoanApplicationRegisterQuery ): Boolean = {
69
- lar.race1 != 5 &&
70
- lar.race2 == " " &&
62
+ private def applicantRace2Thru5Blank (lar : LoanApplicationRegisterQuery ): Boolean = {
63
+ lar.race2 == " " &&
71
64
lar.race3 == " " &&
72
65
lar.race4 == " " &&
73
66
lar.race5 == " "
74
67
}
75
68
76
69
private def coApplicantWhite (lar : LoanApplicationRegisterQuery ): Boolean = {
77
70
lar.coRace1 == 5 &&
78
- lar.coRace2 != " 5 " &&
79
- lar.coRace3 != " 5 " &&
80
- lar.coRace4 != " 5 " &&
81
- lar.coRace5 != " 5 "
71
+ lar.coRace2 == " " &&
72
+ lar.coRace3 == " " &&
73
+ lar.coRace4 == " " &&
74
+ lar.coRace5 == " "
82
75
}
83
76
84
77
private def coApplicantNonWhite (lar : LoanApplicationRegisterQuery ): Boolean = {
@@ -89,6 +82,15 @@ object RaceUtil {
89
82
lar.coRace5 != " 5"
90
83
}
91
84
85
+ private def coApplicantNonMinority (lar : LoanApplicationRegisterQuery ): Boolean = {
86
+ val race1NonMinority = lar.coRace1 == 5 || lar.coRace1 == 6 || lar.coRace1 == 7 || lar.coRace1 == 8
87
+ race1NonMinority &&
88
+ (lar.race2 == " 5" || lar.race2 == " " ) &&
89
+ (lar.race3 == " 5" || lar.race3 == " " ) &&
90
+ (lar.race4 == " 5" || lar.race4 == " " ) &&
91
+ (lar.race5 == " 5" || lar.race5 == " " )
92
+ }
93
+
92
94
private def applicantTwoOrMoreMinorities (lar : LoanApplicationRegisterQuery ): Boolean = {
93
95
lar.race1 != 5 &&
94
96
((lar.race2 != " " && lar.race2 != " 5" ) ||
0 commit comments