في بعض اللهجات الإنجليزية، عندما تقول "two for" بسرعة، يبدو الأمر وكأنك تقول "two fer". و"two-for-one" طريقة للقول إنه إذا اشتريت واحدة، فستحصل على أخرى مجانًا. لذلك غالبًا ما توحي عبارة "two-fer" بعرض اثنين بسعر واحد.
تخيّل مخبزًا يقدّم عرضًا في العطلة، حيث يمكنك شراء قطعتين من الكعك بسعر قطعة واحدة ("two-fer one!"). فتأخذ العرض و(بكرم بالغ) تقرّر أن تعطي الكعكة الإضافية لشخص آخر في الطابور.
مهمتك هي أن تحدد ما ستقوله وأنت تعطي الكعكة الإضافية.
إذا كنت تعرف اسم الشخص (مثلًا إذا كان اسمه Do-yun)، فستقول:
One for Do-yun, one for me.
وإذا لم تكن تعرف اسم الشخص، فستقول you بدلًا من ذلك.
One for you, one for me.
إليك بعض الأمثلة:
| الاسم | الحوار |
|---|---|
| Alice | One for Alice, one for me. |
| Bohdan | One for Bohdan, one for me. |
| One for you, one for me. | |
| Zaphod | One for Zaphod, one for me. |
قبل أن تبدأ، تأكّد من أنك تفهم كيفية كتابة كود قادر على اجتياز حالات الاختبار. ولمزيد من السياق، اطّلع على هذا الدرس التعليمي.
تتضمّن معظم تمارين Java حالات اختبار متعددة. وقد صُمّمت هذه الحالات لدعم عملية مفيدة تُعرف بـالتطوير الموجّه بالاختبارات (TDD). يتضمّن TDD تكرار حلقة منظّمة تساعد المبرمجين على بناء وظائف معقّدة جزءًا جزءًا بدلًا من بنائها دفعة واحدة. ويمكن وصف هذه الحلقة كما يأتي:
تحتوي ملفات الاختبار في هذا المسار على كل الاختبارات التي يجب أن ينجح فيها حلّك ليعتبَر صحيحًا. وهذا لا يبدو متوافقًا للوهلة الأولى مع الحلقة الموصوفة أعلاه، التي تُكتب فيها الاختبارات واحدًا واحدًا. ومع ذلك، فإن الأداة التي نستعملها لكتابة اختباراتنا، JUnit، توفّر تعليقًا توضيحيًا من نوع @Disabled يمكن استعماله لتجاوز اختبار مكتوب مسبقًا مؤقتًا. وباستعمال هذا التعليق التوضيحي، نحرص على أن تحقّق ملفات الاختبار التي نسلّمها لك القواعد الآتية:
وهذا يتيح لك محاكاة حلقة TDD باتباع هذه الخطوات المعدّلة قليلًا:
@Disabled الأعلى في ملف الاختبار.سجّل في Exercism لتتعلّم وتتقن Java عبر 26 مفهومًا158 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.