Junit4: рдЪрд╛рд░ рдЕрдиреБрдХреНрд░рдо рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рджрд╛рд╡рд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдорд╛рд░реНрдЪ 2017  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: junit-team/junit4

Android рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ API CharSequence рдирд┐рдкрдЯрддреЗ рд╣реИрдВред рдФрд░ assertEquals() рдХрд╛ рдЙрдкрдпреЛрдЧ CharSequence рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рдмреЛрдЭрд┐рд▓ рдФрд░ рдЕрд╕реНрдерд┐рд░ рд╣реИред рдХрд┐рд╕реА рдХреЛ рдареАрдХ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдмрд╛рдж рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
рдФрд░ рдХрднреА-рдХрднреА рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП StringBuilder рдбрд┐рдлрд╝реЙрд▓реНрдЯ Object.equals() рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ)ред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирдП рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдЬреИрд╕реЗ
assertContentEquals(CharSequence expected, CharSequence actual)
рдпрд╣ рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЗрд╕реЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рд╕реЗ рд▓рдкреЗрдЯрд╛ рдЧрдпрд╛ рд╣реЛред

(рдкреБрд▓ рдЕрдиреБрд░реЛрдз #949 рдЬреЗрдиреЗрд░рд┐рдХ assertEquals() рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрджрд┐рдЧреНрдз рд╣реИ)

рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред

feature up-for-grabs

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ joseph-mccarthy GitHub рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЯреАрдо рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╕реМрдВрдкрдиреЗ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рд╡реИрд╕реЗ рднреА рд▓рдЧрднрдЧ рдХрднреА рднреА рдореБрджреНрджреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред https://github.com/junit-team/junit4/blob/master/CONTRIBUTING.md рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ assertEquals рдпрд╛ assertEquals рдЕрдзрд┐рднрд╛рд░ рдореЗрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдореБрдЦрд░ рд╕рдВрджреЗрд╢ рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рд╣реИред

рдЖрдк рдПрдХ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдПрдкреАрдЖрдИ (рдЬреИрд╕реЗ рд╕рддреНрдп рдпрд╛ рдЙрддреНрд╕рд╡) рдХреЗ рд╕рд╛рде рдЕрднрд┐рдХрдерди рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

assertEquals рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рднреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рддреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ assertEquals("abc", new StringBuilder("abc")) рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдЖрдИрдПрдордУ рд╡рд░реНрддрдорд╛рди assertArrayEquals рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд╣реА рддрд░реАрдХрд╛ рдЪреБрдирдирд╛ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрд╕реЗ рднреА рдЙрдЪрд┐рдд CharSequence рд╕рдорд░реНрдерди рдХреА рдореМрдЬреВрджрд╛ рдХрдореА рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХрд┐рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдЕрднреА рддрдХ рдореИрдВ рд╕рд┐рд░реНрдл рдЗрди рджреЛрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛:
Assert.assertContentEquals(CharSequence expected, CharSequence actual)
Assert.assertContentEquals(String message, CharSequence expected, CharSequence actual)

рдХреНрдпрд╛ рдЖрдк рдмреЗрд╣рддрд░ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдХрднреА рднреА assertEquals("abc", new StringBuilder("abc")) рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ (рдореИрдВ рдмрд┐рд▓реНрдбрд░ рдкрд░ build() рдХреЙрд▓ рдХрд░реВрдВрдЧрд╛)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреАрдПрд╕рдПрд▓ рдЖрдзрд╛рд░рд┐рдд рдврд╛рдВрдЪреЗ рдЕрдХреНрд╕рд░ рдмреЗрд╣рддрд░ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВред рд╕рдЪ рдореЗрдВ рдореИрдВ рд▓рд┐рдЦреВрдВрдЧрд╛:

assertThat(myCharSequence).hasValue("hello");

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ hasValue() рдПрдХ String hasValue() рд▓реЗрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рджреЛ CharSequence рдорд╛рдиреЛрдВ рдХреЛ рдмрд░рд╛рдмрд░ рдорд╛рдирд╛ рдЬрд╛рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИред

рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ:
assertContentEquals("abc", bundle.getCharSequence(Notification.EXTRA_TEXT));

рдПрдХ HasValue Matcher рднреА рдЬреЛрдбрд╝рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдзрдиреНрдпрд╡рд╛рджред рдЪреВрдВрдХрд┐ CharSequence equals() рд▓рд┐рдП рдЕрдиреБрдмрдВрдз рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдХреИрд╕реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рджреЛ CharSequence рдорд╛рдиреЛрдВ рдХреЛ рдмрд░рд╛рдмрд░ рдорд╛рдирддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди toString() рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдХреНрдпреЛрдВ рди рдЕрдкреЗрдХреНрд╖рд┐рдд рдореВрд▓реНрдп рдХреЛ String ?

рдЕрдЪреНрдЫреА рдмрд╛рддред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╕рдВрдХреЛрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рдХреНрд▓реАрдирд░ рджрд┐рдЦрддреЗ рд╣реИрдВред

рдФрд░ рдореИрдВ рдкрд╣рд▓реЗ рд▓рдВрдмрд╛рдИ рдХреА рддреБрд▓рдирд╛ рднреА рдХрд░реВрдВрдЧрд╛ред toString() рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛред

рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдХреЛ рд▓реЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдХреГрдкрдпрд╛ред рдХреНрдпрд╛ рдпрд╣ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢реБрдХреНрд░рд┐рдпрд╛ред

@ joseph-mccarthy GitHub рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЯреАрдо рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╕реМрдВрдкрдиреЗ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рд╡реИрд╕реЗ рднреА рд▓рдЧрднрдЧ рдХрднреА рднреА рдореБрджреНрджреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред https://github.com/junit-team/junit4/blob/master/CONTRIBUTING.md рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ

@kcooney рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ?
рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреАрдЖрд░ #1439 рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ рдкреАрдЖрд░ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдирдП рдкреАрдЖрд░ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╕рдореАрдХреНрд╖рд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ?

@ рдЬреЛрд╕реЗрдл-рдореИрдХрд╛рд░реНрдереА рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@kcooney рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ joseph-

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kcooney picture kcooney  ┬╖  108рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cardil picture cardil  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

akarnokd picture akarnokd  ┬╖  27рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gitIvanB picture gitIvanB  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kluever picture kluever  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ