рдкрдардиреАрдп рдкрд░реАрдХреНрд╖рдг

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐

рдпрд╣ рд▓реЗрдЦ рдмрд╣реБрдд рдмрд╛рд░ рдкрдардиреАрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреАрдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдХреЛрдб рджреЗрдЦрдиреЗ рдкрд░ рдореЗрд░реА рдмрд╛рд░-рдмрд╛рд░ рдХреА рдмреИрдардХреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЧрд▓рдд рдХрд╛рдо рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рдореИрдВ рдПрдХ рдкрдардиреАрдп рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреНрд░рдХрдЯ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рдирд╛рдордХрд░рдг рдФрд░ рд╕рдХреНрд╖рдо рдЖрд╡реЗрджрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣рдЪрд╛рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдпреВрдирд┐рдЯред рдпрд╣ рдХреНрдпрд╛ рд╣реИ

рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд░реВрд╕реА рдореЗрдВ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╢рдмреНрдж "рдореЙрдбреНрдпреВрд▓" рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреАрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдЕрд▓рдЧ рдЕрд░реНрде рд╕рд┐рдореЗрдВрдЯреЗрд╢рди рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрдШреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдВрдЧреНрд░реЗрдЬреА "рдпреВрдирд┐рдЯ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЖрдЗрдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рдХрд░реЗрдВ рдХрд┐ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдПрдХ рдЗрдХрд╛рдИ рдХреНрдпрд╛ рд╣реИ:

рдПрдХ рдЗрдХрд╛рдИ рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рджрд┐рдП рдЧрдП рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреБрдЫ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЗрдХрд╛рдИ рдкрд░рд┐рднрд╛рд╖рд╛
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрдХрд╛рдИ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреНрдп рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рдЦрд╛рд▓реА рд╕реЗрдЯ рдореЗрдВ рдкрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдЧрдбрд╝рдмрдбрд╝реА рдореЗрдВ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдЦрд╛рд▓реА рдкреНрд░рддрд┐рднрд╛рдЧреА рд╣реИрдВ, рдЗрдХрд╛рдИ рдореЗрдВ рдХрдо рд╕рдордЭрджрд╛рд░реА (рд╢рдмреНрджрд╛рд░реНрде) рдирд┐рд╣рд┐рдд рд╣реИред


рдЙрджрд╛рд╣рд░рдг
рдореЛрд▓реЛрдХ рдХреЗ рд▓рд┐рдП рдмрд▓рд┐рджрд╛рди рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдиреАрддреНрд╢реЗ рдХреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рд╛рд░, рдЖрдЗрдП рд╣рдо рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдЗрд╕ рдкреНрд░реЗрдо рд╡рд░реНрдЧ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЦрд╛рд▓реА рд╡рд╛рддрд╛рд╡рд░рдг
рдпрд╣ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЕрдкрдШрдЯрди рдХреА рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рддрд░реНрдХреЛрдВ рдХреЛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рдПрдХ рдЗрдХрд╛рдИ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрд░реНрдХ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдЙрдЯрдкреБрдЯ ред рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рд╛рд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди y = sin (x) рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рдХреА рдореИрдкрд┐рдВрдЧ рд╣реИ [-1,1]ред рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ x рдХреЗ рд▓рд┐рдП, y рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдкрд╛рдк (x) рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИред рдкрд╛рдк (x) рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рд╡рд░реНрд╖ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдЗрди x рдХреЛ рдЗрди y рдореЗрдВ рдореИрдк рдХрд░реЗрдЧрд╛ред рдЙрд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред

рдЦрд╛рд▓реА рдЙрддреНрдкрд╛рджрди
рдЕрдХреНрд╕рд░, рдЗрдХрд╛рдИ рдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рди рдХреЗрд╡рд▓ рдХреБрдЫ рд▓реМрдЯрд╛рдиреЗ рдХреА рд╣реЛрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдХреБрдЫ рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рдиреЗ рдХреА рднреА рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рд╕рд┐рдХ рдордзреНрдпрд╕реНрде рдкреИрдЯрд░реНрди рдПрдХ рд╡рд╕реНрддреБ ( рдЗрдХрд╛рдИ ) рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рдирддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ ( рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ ) рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╕реНрддреБрдУрдВ ( рдкрд░реНрдпрд╛рд╡рд░рдг ) рдХреЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд┐рд╕реА рдХреЛ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рдмреАрдЪ рдЖрдХреНрд░рдордгрдХрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдЖрдХреНрд░рдордгрдХрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рд╛рд╡рдзрд╛рди рдЙрдирдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред рдпрд╣ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдЗрдирдкреБрдЯ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╣реИ - рдпрд╣ рдПрдХ рдЗрдХрд╛рдИ рдордзреНрдпрд╕реНрде рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИред рдПрдХ рдордзреНрдпрд╕реНрде рд╡рд┐рдВрдбреЛ рдЬреЛ рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕рдВрд╡рд╛рдж рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрд╛рдЧ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреА рд╣реИ, рдЗрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рд╣реИред

рдЦрд╛рд▓реА рдЗрдирдкреБрдЯ
рдРрд╕реА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рд░рд▓ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рд╕реЗ рд╣реЛрддреА рд╣реИ рдХрд┐ рдХрд╣реАрдВ, рдбреЗрдЯрд╛ рдЕрднреА рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдЖрдкреВрд░реНрддрд┐ рдирд╣реАрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдРрд╕реА рдЗрдХрд╛рдИ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг GetCurrentTime () ( рдпреВрдирд┐рдЯ ) рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо ( рдкрд░реНрдпрд╛рд╡рд░рдг ) рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЗрд╕реЗ ( рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ ) рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рд╢реВрдиреНрдп рдЪ ()
рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдХреБрдЫ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдмрд╣реБрдд рдХрдо рдЕрд░реНрде рд╣реИред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд╛рдд рд╣реИ рдХрд┐ рдкрд░реЗрд╢рд╛рди рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ - рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдмрдирд╛рдирд╛ред

рд╕реНрдерд┐рддрд┐ рдФрд░ рдЗрдХрд╛рдЗрдпрд╛рдБ
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ, рдЖрдЗрдП рдлрд╝рдВрдХреНрд╢рди void std :: list :: remove (const T & elem) рдХреЛ рджреЗрдЦреЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрд▓рдПрдо рдЗрдирдкреБрдЯ рд╣реИред рд▓реЗрдХрд┐рди рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдХреНрдпрд╛? рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИ - рд╢реВрдиреНрдп рдлрд╝рдВрдХреНрд╢рдиред рдФрд░ рдлрд┐рд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреНрдпрд╛ рд╣реИ? рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ - рд╕реНрдореГрддрд┐ред рд▓реЗрдХрд┐рди рд╕реНрдореГрддрд┐ рдПрдХ рд╕реВрдЪреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреА рдЗрдХрд╛рдИ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдХреЛрдИ рднреА рдпрд╣ рддрд░реНрдХ рдирд╣реАрдВ рджреЗрдЧрд╛ рдХрд┐ "рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдХреБрдЫ рдкреЗрдЪреАрджрд╛ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЗрдореЛрд░реА рдЦрд╛рд▓реА рд╣реЛ рдЬрд╛рддреА рд╣реИред" рдпрджрд┐ рдЖрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ "рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛рдиреЗ" рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ (рдЗрд╕рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ), рддреЛ рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдзреНрд╡рдирд┐ рдХрд░реЗрдЧрд╛: "рд╕реВрдЪреА рд╕реЗ рдПрдХ рддрддреНрд╡ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕реВрдЪреА рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╕реВрдЪреА рд╕реЗ рдЗрд╕ рддрддреНрд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рди рд╣реЛ"ред рддреЛ, рд╕реВрдЪреА рд╕реЗ рд╡рд┐рд▓реЛрдкрди рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реВрдЪреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рджреВрд╕рд░реЗ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╕реНрд╡рдпрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕реВрдЪреА :: рдирд┐рдХрд╛рд▓реЗрдВ рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдПрдХ рдЗрдХрд╛рдИ рдирд╣реАрдВ рд╣реИ ред рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ (рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛) рд╣рд░ рдЪреАрдЬ рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕реВрдЪреА рдХреЗрд╡рд▓ рдЗрд╕ рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдордЧреНрд░рддрд╛ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╕реВрдЪреА рдЗрдХрд╛рдИ рд╣реИ ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЬреЛрдбрд╝реЗ (рдХрдорд╛рдВрдб, рдХрдорд╛рдВрдб_рдЖрд░реНрдЧреБрдореЗрдВрдЯреНрд╕), рдФрд░ рдПрдХ рдЬреЛрдбрд╝реА (рдХреНрд╡реЗрд░реА, рдХреНрд╡реЗрд░реА_рдлреЙрд▓реНрдЯреНрд╕) рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИред рд╡реИрд╕реЗ, рдпрд╣ рдПрд╕рдЯреАрдПрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реАрдХреНрдпреВрдПрд╕ (рдХрдорд╛рдВрдб рдХреНрд╡реЗрд░реА рдкреГрдердХреНрдХрд░рдг) рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд░рд╛рдЬреНрдп рдмрджрд▓рдиреЗ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВ (рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде, рдпрд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдХреБрдЫ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЗрдирдкреБрдЯ рд╣реИред рдмреБрд░рд╛, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡ рд╣реИред рд╡реИрд╕реЗ, рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдХреНрдпрд╛ std :: рд╕реВрдЪреА рднреА рдкрд░реНрдпрд╛рд╡рд░рдг рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд╣реИ? рдирд╣реАрдВ! рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрди рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд▓реЛрдХреЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реВрдЪреА рд╣реИред рд╕реВрдЪреА рдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреАред рд╢рд╛рдмрд╛рд╢!

рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдкрд░реАрдХреНрд╖рдг

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкрдардиреАрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛? рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ:

рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдкрдардиреАрдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпреВрдирд┐рдЯ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдЪрд╛рд░ рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ: рдпреВрдирд┐рдЯ , рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛, рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред

рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдмрд╛рдд рдХрд░реЗрдВ рддреЛ, рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдкрд╛рдардХ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрд╕ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдкрдврд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд┐рд╡рд░рдг рд╕реНрдкрд╖реНрдЯ рдХрд░рдХреЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рд░ рдФрд░ рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдмрдпрд╛рдиреЛрдВ рдФрд░ рдЬрд╛рдВрдЪреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рдкрдардиреАрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЕрдХреНрд╕рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдпреВрдирд┐рдЯ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╢реЛрдзрди рдХреЗ рд╕рд╛рдеред

рдЯреЗрд╕реНрдЯ рдПрдирд╛рдЯреЙрдореА

рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдХреБрдЫ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдмрдирд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рди рд╣реЛред рддреЛ, gtest рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
TEST(Subject, Assertion) { // Body } 

рдпрд╛ рддреЛ:
 TEST_F(Subject, Assertion) { // Body } 

рдирд┐рдпрдо


рдЗрдХрд╛рдИ рд╕реНрдкрд╖реНрдЯ
рдирд┐рдпрдо: рд╡рд┐рд╖рдп рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рдПрдХ рдЗрдХрд╛рдИ рдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдПрдХ рдЗрдХрд╛рдИ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реБрдП рд╡рд┐рд╖рдп рдПрдХ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрдЬреНрдЮрд╛ (рдЕрдзрд┐рдорд╛рдирддрдГ рдЧреИрд░-рдпреМрдЧрд┐рдХ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде рдпрд╣ рдЗрдХрд╛рдИ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЙрд╕реА рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде TEST рдФрд░ TEST_F рдореИрдХреНрд░реЛ рдХрд╛ рдорд┐рд╢реНрд░рдг рдирд┐рд╖рд┐рджреНрдз рд╣реИред
рдЙрджрд╛рд╣рд░рдг:

рдЦрд░рд╛рдм:
 TEST(GetDiskSignature, ReadsFirstSector) TEST(SetDiskSignature, WritesToFirstSector) 

рдЕрдЪреНрдЫрд╛:
 TEST(DiskSignature, ResidesOnFirstSector) 

рдкрд░реАрдХреНрд╖рдг рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА
рдирд┐рдпрдо: рдЕрднрд┐рдХрдерди рдореЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг (рд╡рд░реНрддрдорд╛рди рдХрд╛рд▓ рдореЗрдВ рдПрдХ рдХрдерд╛ рд╡рд╛рдХреНрдп), рд╢рдмреНрджрд╛рд░реНрде рд╕рддреНрдпрд╛рдкрди рдХреЗ рдЕрдзреАрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдХрдерди рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ, рдкрд╛рдардХ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЕрд░реНрдерд╛рддреН, рджрд┐рдП рдЧрдП рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рдЕрднрд┐рдХрдерди рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╛рдардХ рдХреЗ рд╕рд┐рд░ рдореЗрдВ рдПрдХ рдпреЛрдЬрдирд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рд╡рд╣ рд╕реНрд╡рдпрдВ рдЗрд╕ рдХрдерди рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕реАрд▓рд┐рдП, рдПрдХ рд╡рд┐рдзреЗрдп рдХреЗ рд░реВрдк рдореЗрдВ, "рд╕рд╣реА", "рдЕрдЪреНрдЫрд╛", "рдареАрдХ", "рдЕрдЪреНрдЫрд╛" рдФрд░ рд╕рдорд╛рди рдиреИрддрд┐рдХ рдФрд░ рдиреИрддрд┐рдХ рд╢рдмреНрдж рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╢рдмреНрджреЛрдВ рдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рд╛рд░ "рд╕рд╣реА", "рдЕрдЪреНрдЫрд╛", рдЖрджрд┐ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред рд╡рд┐рдзреЗрдп рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╢рдмреНрджреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдореЗрдп рд╣реИ, рди рдХрд┐ рд╕реНрд╡рдпрдВ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВред
рдЙрджрд╛рд╣рд░рдг:

рдЦрд░рд╛рдм:
 TEST(FileCache, IsInitializedCorrectly) 

рдЕрдЪреНрдЫрд╛:
 TEST(FileCache, IsInitializedAsEmpty) 


рд╢рд░реАрд░ рдореЗрдВ рдЬреЛрд░ рд╕реЗ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдирд┐рдпрдо: рдкрд░реАрдХреНрд╖рдг рдирд┐рдХрд╛рдп рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдХрдерди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╢рд░реНрддреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдПрдХ рдмрдпрд╛рди рд╕реЗ рд╢рд░реНрддреЛрдВ рдХреЗ рд╢рдмреНрджрд╢рдГ рджреЛрд╣рд░рд╛рд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрдврд╝рддреЗ рд╕рдордп рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдпрджрд┐ рдкрд╛рдардХ рдиреЗ рдЕрднрд┐рдХрдерди рдореЗрдВ рдХреБрдЫ рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдХреБрдЫ рдЙрдореНрдореАрджреЗрдВ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рддреЛ рдХреБрдЫ рднреА рдЙрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЧрдИ рд╕рдВрд╕реНрдерд╛рдУрдВ рд╕реЗ рдЪрд┐рдкрдХрд╛рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдмрдпрд╛рди рд╕реЗ рд╢рд░реНрддреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдПред рдорд╛рдореВрд▓реА рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдорд╛рдорд▓рд╛ рдмрджрд▓рдирд╛, рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рдШреБ рдкреНрд░рддреНрдпрдпреЛрдВ рдФрд░ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ - рдорд╛рдирд╡ рдорд╕реНрддрд┐рд╖реНрдХ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░реВрд╕реА) рдРрд╕реЗ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓рдбрд╝рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдореВрд▓ рдкреНрд░рддреАрдХ рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рдирддрд╛ рд╣реИред рд╢рдмреНрдж рдореЗрдВ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдореНрдпреВрдЯреЗрд╢рди рд╣реИрдВ, рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкрд╣рдЪрд╛рдирдирд╛ рдЙрддрдирд╛ рд╣реА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрдж рднреА рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг:

рдЦрд░рд╛рдм:
 TEST_F(MRUCache, MovesLastAccessedItemToFront) { Items.Touch("http://facebook.com/"); Items.Touch("http://habrahabr.ru/"); EXPECT_EQ(0, Items.GetIndex("http://habrahabr.ru/")); } 

рдЕрдЪреНрдЫрд╛:
 TEST_F(MRUCache, SetsIndexOfLastTouchedItemToZero) { MRUCache.Touch(Item("http://facebook.com/")); MRUCache.Touch(Item("http://habrahabr.ru/")); EXPECT_EQ(0, MRUCache.GetIndex(Item("http://habrahabr.ru/"))); } 

рдЕрдЪреНрдЫрд╛:
 TEST_F(MRUCache, MovesLastAccessedItemToFront) { MRUCache.Access(Item("http://facebook.com/")); MRUCache.Access(Item("http://habrahabr.ru/")); EXPECT_EQ(Item("http://habrahabr.ru/"), MRUCache.Front()); } 


рдбреЗрдЯрд╛ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ
рдирд┐рдпрдо: рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ (рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рджреЛрдиреЛрдВ), рдЬреИрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдкрдврд╝реЗ рдЧрдП рдбреЗрдЯрд╛ рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ рдЧрдП, рдкрд░реАрдХреНрд╖рдг рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдкрдврд╝рддреЗ рд╕рдордп, рдкрд╣рд▓реА рдмрд╛рдд рдПрдХ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкрд╛рдардХ рдХреЛ рдкрдХрдбрд╝рддреА рд╣реИ - рдПрдХ рд╡рд┐рд╖рдп рд╡рд╕реНрддреБ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ - рдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рд╣реИред рдкрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рд╡рд┐рд╢реЗрд╖ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рддрдХ рдЕрдкрдирд╛ рдЬреНрдЮрд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╡реНрдпрдХреНрддрд┐ рд╡рд┐рд╢реЗрд╖ рдХреЛ рдмрд╛рдХреА рд╕рднреА рдХреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдорд╛рдирддрд╛ рд╣реИред рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреА рдЙрдЪреНрдЪрддрдо рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдкрдардиреАрдп рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдРрд╕рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реВ рд╣реИ рдХрд┐ рдЗрд╕ рдирд┐рдпрдо рдХреЗ рдПрдВрдЯреАрдкреИрдЯрд░реНрди рдЙрд▓реНрд▓рдВрдШрди рдХреЛ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдирдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдП рдЬрд╛рдПрдВрдЧреЗред
рдЙрджрд╛рд╣рд░рдг:

рдЦрд░рд╛рдм:
 const Common::String SomeUnixPath = GET_WCHAR("/var/log"); const int SomeUnixPathComponents = 2; ... TEST(UnixPath, ContainsSlashes) { EXPECT_EQ(SomeUnixPathComponents, Paths::Unix(SomeUnixPath).Components()); } 

рдЕрдЪреНрдЫрд╛:
 Common::String Path(const char* value) { return GET_WCHAR(value); } ... TEST(UnixPath, ContainsSlashes) { EXPECT_EQ(2, Paths::Unix(Path("/var/log")).Components()); } 


рдЯреЗрд╕реНрдЯ рдбреЗрдЯрд╛ рдлреНрд▓реЛ рдХреНрд▓рд┐рдпрд░рдиреЗрд╕
рдирд┐рдпрдо: рдкрд░реАрдХреНрд╖рдг рдХреЗ рдирд┐рдХрд╛рдп рдореЗрдВ рдЗрдХрд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╕рд╣рд╛рдпрдХ рд╡рд╕реНрддреБрдПрдБ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдЬрдм рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЕрдХреНрд╕рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЕрднрд┐рд╡реНрдпрдВрдЬрдХ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, TEST_F рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЕрдХреНрд╕рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрди рд╕рджрд╕реНрдпреЛрдВ рдореЗрдВ рд╕реНрдерд┐рд░рддрд╛ рд╕рджрд╕реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдШрд╛рддрдХ рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реЛрддреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпреЗ рд╕рджрд╕реНрдп рдЕрдВрддрддрдГ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рдЗрдХрд╛рдИ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЖрдк рдХреЗрд╡рд▓ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕рд╣рд╛рдпрдХ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдХрд░ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рдХреЛрдб рдХреЛ рдкрдврд╝рд╛ред рдпрд╣реА рд╣реИ, рдЗрд╕рдХреА рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рд╣реИред рдЗрд╕рд▓рд┐рдП, рднрд▓реЗ рд╣реА рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЛ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдпреВрдирд┐рдЯ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдЗрд╕рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд╕реНрдЯ рдмреЙрдбреА рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рд╣рд░рдг:

рдЦрд░рд╛рдм:
 MockFileSystem Files; void AddFile(std::string path, int size) { ON_CALL(Files, Get(path.c_str()).WillByDefault(Return(File(size))); } ... TEST(FileStatistics, SumsFileSizes) { AddFile("/bin/ls", 10); AddFile("/bin/bash", 20); EXPECT_EQ(30, GetStats(Files, "/bin").Size); } 

рдЕрдЪреНрдЫрд╛:
 MockFileSystem Files; void AddFile(MockFileSystem& fs, std::string path, int size) { ON_CALL(fs, Get(path.c_str()).WillByDefault(Return(File(size))); } ... TEST(FileStatistics, SumsFileSizes) { AddFile(Files, "/bin/ls", 10); AddFile(Files, "/bin/bash", 20); EXPECT_EQ(10 + 20, GetStats(Files, "/bin").Size); } 


рдирд┐рд╖реНрдХрд░реНрд╖

рдпрд╣ рд▓реЗрдЦ рдкрдардиреАрдп рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдкреВрд░реЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддреЗ рд╣реИрдВ - рдпреЗ рд╕рд┐рд░реНрдл рдирд┐рдЪреЛрдбрд╝ рд╣реИрдВ рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рджреЗрдЦрд╛ рдерд╛, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рджреЗрдЦреЗ рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВред рдореВрд▓ рдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЖрддреНрдордирд┐рд░реНрднрд░ рд▓рд┐рдЦрдирд╛ рд╣реИред рдпрджрд┐ рдХреБрдЫ рднреА рдПрдХ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо, рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рддрд░рд╣, рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдФрд░ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЧреИрд░-рдЖрд╡рд╢реНрдпрдХ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдирд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рд▓реВ!

Source: https://habr.com/ru/post/In186666/


All Articles