Compound Matchers: and, or, not

Advanced Matchers (অ্যাডভান্সড ম্যাচারস) - আরএসপেক (RSpec) - Computer Programming

308

RSpec এ compound matchers যেমন and, or, এবং not ব্যবহার করা হয় একাধিক প্রত্যাশা (expectations) একসাথে পরীক্ষা করার জন্য। এগুলি আপনাকে একটি একক টেস্ট কেসে আরও জটিল এবং সংক্ষিপ্ত টেস্ট কন্ডিশন লিখতে সাহায্য করে। যখন আপনি একাধিক শর্ত বা শর্তের সমন্বয় পরীক্ষা করতে চান, তখন এই matchers ব্যবহার করা সুবিধাজনক।


১. and Matcher

and matcher দুটি শর্ত পরীক্ষা করে এবং দুইটি শর্তই সত্য হতে হবে। এটি দুটি matcher একসাথে যুক্ত করে এবং প্রত্যেকটি শর্ত পাস করতে হবে।

সিনট্যাক্স:

expect(actual_value).to match_a_condition.and match_another_condition

উদাহরণ:

describe "Testing with `and` matcher" do
  it "checks both conditions" do
    number = 5
    expect(number).to be > 3.and be < 10
  end
end

এই উদাহরণে:

  • প্রথম শর্ত পরীক্ষা করছে যে number ৩ এর চেয়ে বড় কি না।
  • দ্বিতীয় শর্ত পরীক্ষা করছে যে number ১০ এর চেয়ে ছোট কি না।
  • দুইটি শর্তই সত্য হতে হবে, তখনই টেস্ট পাস করবে।

২. or Matcher

or matcher দুটি শর্ত পরীক্ষা করে এবং যেকোনো একটি শর্তও সত্য হলে টেস্ট পাস হবে।

সিনট্যাক্স:

expect(actual_value).to match_a_condition.or match_another_condition

উদাহরণ:

describe "Testing with `or` matcher" do
  it "checks if either condition is true" do
    number = 7
    expect(number).to be < 5.or be > 3
  end
end

এই উদাহরণে:

  • প্রথম শর্ত পরীক্ষা করছে যে number ৫ এর চেয়ে ছোট কি না।
  • দ্বিতীয় শর্ত পরীক্ষা করছে যে number ৩ এর চেয়ে বড় কি না।
  • যেহেতু দ্বিতীয় শর্ত (এটি number > 3) সত্য, টেস্টটি পাস হবে।

৩. not Matcher

not matcher একটি শর্তকে নাকচ করে, অর্থাৎ এটি পরীক্ষা করে যে নির্দিষ্ট শর্ত সত্য নয়

সিনট্যাক্স:

expect(actual_value).to not_to match_a_condition

অথবা, not_to ব্যবহার করা যেতে পারে:

expect(actual_value).not_to match_a_condition

উদাহরণ:

describe "Testing with `not` matcher" do
  it "checks if a condition is not true" do
    number = 5
    expect(number).not_to be < 3
  end
end

এই উদাহরণে:

  • শর্তটি পরীক্ষা করছে যে number ৩ এর চেয়ে ছোট নয়।
  • যেহেতু number ৫, এটি ৩ এর চেয়ে ছোট নয়, তাই টেস্টটি পাস হবে।

Compound Matchers এর সমন্বয়

আপনি and, or, এবং not matchers একসাথে ব্যবহার করে আরও জটিল পরীক্ষা করতে পারেন।

উদাহরণ:

describe "Testing compound matchers" do
  it "checks multiple conditions" do
    number = 7
    expect(number).to be > 5.and be < 10.or be > 20
  end
end

এই উদাহরণে:

  • প্রথম অংশ পরীক্ষা করছে যে number ৫ এর চেয়ে বড়।
  • দ্বিতীয় অংশ পরীক্ষা করছে যে number ১০ এর চেয়ে ছোট।
  • তৃতীয় অংশ পরীক্ষা করছে যে number ২০ এর চেয়ে বড়।
  • টেস্টটি পাস হবে কারণ প্রথম দুটি শর্ত (number > 5 এবং number < 10) সত্য।

সারাংশ

  • and: দুটি শর্তের উভয়ই সত্য হতে হবে।
  • or: যেকোনো এক শর্ত সত্য হলে টেস্ট পাস করবে।
  • not: শর্তটি সত্য নয় তা যাচাই করবে।

এই compound matchers ব্যবহার করে আপনি RSpec-এ আরও জটিল এবং অর্থপূর্ণ পরীক্ষা লিখতে পারেন, যা আপনার টেস্টগুলিকে আরও শক্তিশালী এবং পঠনযোগ্য করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...