এটি বর্ণনা করার জন্য একটি পরীক্ষার কেস:
ভারা-গ্রহণ পদ্ধতি পদ্ধতির ঘোষণার সাথে জাভা কোড (যা স্থির হয়ে থাকে):
public class JavaReceiver {
public static String receive(String... x) {
String res = ((x == null) ? "null" : ("an array of size " + x.length));
return "received 'x' is " + res;
}
}
এই জাভা কোড (একটি JUnit4 পরীক্ষার কেস) উপরের কল করে (আমরা পরীক্ষার কেসটি কিছু পরীক্ষা না করে কেবল কিছু আউটপুট উত্পন্ন করতে ব্যবহার করছি):
import org.junit.Test;
public class JavaSender {
@Test
public void sendNothing() {
System.out.println("sendNothing(): " + JavaReceiver.receive());
}
@Test
public void sendNullWithNoCast() {
System.out.println("sendNullWithNoCast(): " + JavaReceiver.receive(null));
}
@Test
public void sendNullWithCastToString() {
System.out.println("sendNullWithCastToString(): " + JavaReceiver.receive((String)null));
}
@Test
public void sendNullWithCastToArray() {
System.out.println("sendNullWithCastToArray(): " + JavaReceiver.receive((String[])null));
}
@Test
public void sendOneValue() {
System.out.println("sendOneValue(): " + JavaReceiver.receive("a"));
}
@Test
public void sendThreeValues() {
System.out.println("sendThreeValues(): " + JavaReceiver.receive("a", "b", "c"));
}
@Test
public void sendArray() {
System.out.println("sendArray(): " + JavaReceiver.receive(new String[]{"a", "b", "c"}));
}
}
এটি JUnit পরীক্ষার ফলন হিসাবে চালানো:
সেন্ডনথিং (): প্রাপ্ত 'x' হ'ল আকারের অ্যারে
সেন্ডনুলউইথনোকাস্ট (): প্রাপ্ত 'x' নাল is
সেন্ড নলউইথকাস্টটোস্ট্রিং (): প্রাপ্ত 'x' হ'ল আকারের একটি অ্যারে
সেন্ডনুলউইথকাস্টটোআররে (): প্রাপ্ত 'x' নাল
সেন্ডওয়েলু (): প্রাপ্ত 'x' হ'ল আকারের অ্যারে
সেন্ডভ্যালিজ (): প্রাপ্ত 'x' হ'ল আকারের একটি অ্যারে
সেন্ডআরে (): প্রাপ্ত 'x' হ'ল আকারের অ্যারে
এটি আরও আকর্ষণীয় করার জন্য, আসুন receive()
গ্রোভি ২.১.২ থেকে ফাংশনটি কল করুন এবং দেখুন কী ঘটে। দেখা যাচ্ছে ফলাফল এক নয়! এটি যদিও বাগ হতে পারে।
import org.junit.Test
class GroovySender {
@Test
void sendNothing() {
System.out << "sendNothing(): " << JavaReceiver.receive() << "\n"
}
@Test
void sendNullWithNoCast() {
System.out << "sendNullWithNoCast(): " << JavaReceiver.receive(null) << "\n"
}
@Test
void sendNullWithCastToString() {
System.out << "sendNullWithCastToString(): " << JavaReceiver.receive((String)null) << "\n"
}
@Test
void sendNullWithCastToArray() {
System.out << "sendNullWithCastToArray(): " << JavaReceiver.receive((String[])null) << "\n"
}
@Test
void sendOneValue() {
System.out << "sendOneValue(): " + JavaReceiver.receive("a") << "\n"
}
@Test
void sendThreeValues() {
System.out << "sendThreeValues(): " + JavaReceiver.receive("a", "b", "c") << "\n"
}
@Test
void sendArray() {
System.out << "sendArray(): " + JavaReceiver.receive( ["a", "b", "c"] as String[] ) << "\n"
}
}
এটি JUnit পরীক্ষা হিসাবে চালানো জাভির পার্থক্যটি সাহসের সাথে হাইলাইট করে নীচের ফলাফল দেয়।
সেন্ডনথিং (): প্রাপ্ত 'x' হ'ল আকারের অ্যারে
সেন্ডনুলউইথনোকাস্ট (): প্রাপ্ত 'x' নাল is
সেন্ডনুলউইথকাস্টটোস্ট্রিং (): প্রাপ্ত 'x' নাল
সেন্ডনুলউইথকাস্টটোআররে (): প্রাপ্ত 'x' নাল
সেন্ডওয়েলু (): প্রাপ্ত 'x' হ'ল আকারের অ্যারে
সেন্ডভ্যালিজ (): প্রাপ্ত 'x' হ'ল আকারের একটি অ্যারে
সেন্ডআরে (): প্রাপ্ত 'x' হ'ল আকারের অ্যারে
asList
নমুনায় পদ্ধতিটি এবং তার উদ্দেশ্য তালিকাভুক্ত করে থাকেন তবে অন্যদের পক্ষে সহায়ক হবে ।