Java gir det funksjonelle grensesnittet som kalles predikat som representerer en boolsk-verdsatt funksjonspredikat med et enkelt argument. Javaen.util.Funksjonspakke støtter predikatgrensesnittet og omfatter den funksjonelle metodetesten (). Predikatets funksjonelle grensesnitt forbedrer programvarenes lesbarhet og skalerbarhet og forenkler det til å dele opp enheter for testing. Prototypen av predikatgrensesnittet i Java er som dette “predikatet” der “T” er betegnet som en enkelt parameter som gir et boolsk resultat. Java Predicate -grensesnitt har noen metoder utforsket nedenfor med implementeringen av eksemplet.
Eksempel 1
Opprettelsen av predikatgrensesnittet til Java er demonstrert i følgende eksempel. Java Predicates har en abstrakt metode som heter test (objekt) som vurderer predikatet på et objekt som inngang.
Vi har først definert et predikatgrensesnitt med nøkkelordet "predikat" som tar "heltall" -typen som et enkelt argument. Deretter opprettet vi objektet “P” og spesifiserte predikattilstanden, som vil bekrefte at den gitte verdien møtes med predikatet og returnerer den boolske typen. Neste, innenfor predikatet "Test ()" -metoden, tildeles heltallverdien for å evaluere predikatet på denne verdien.
"False" sendes ut fordi predikatet er "12> 15".
Eksempel 2
Det nevnte programmet forklarer opprettelsen av predikat i Java. Nå implementeres den enkle kjeden av predikatet i det følgende eksempelprogrammet som filtrerer tall ved bruk av "større enn" og "mindre enn" sammenligningsoperatører:
Vi har opprettet kjeden av predikatgrensesnittet ved å erklære dets objekter “P1” og “P2”. "P1" får et predikat som vil evaluere for større enn operatøren. “P2” -objektet tildeles et mindre enn operatørskilt for å evaluere. Etter det har vi definert et objekt “RES1” der verdien er spesifisert i testen () -metoden for å generere det boolske resultatet etter å ha evaluert med begge spesifiserte predikater. Javas utskriftsoperasjon vil skrive ut resultatene for boolsk verdi.
Den første predikatutgangen er sant ettersom predikatverdien er større enn predikatets testverdi. Neste predikatutgang har den "falske" verdien ettersom "7" er mindre enn "10".
Eksempel 3
Java -predikatgrensesnitt er også utstyrt med forskjellige metoder. Predikatet Isequal () -metoden brukes her, som sjekker om de to objektene tilsvarer en verdi spesifisert som et argument og returnerer predikatet i henhold til tilstanden.
Vi har definert predikatgrensesnittet der objektet “PR” er erklært. Objektet “PR” initialiseres med predikatet.Isequal () -metode. Strengverdien holdes inne i Isequal () -metoden som skal sammenlignes med den andre predikatverdien. For dette har vi kalt Test () -metoden, der den andre verdien sendes. Denne verdien vil bli sammenlignet med predikatverdien som ble gitt som et argument i Isequal () -metoden og genererer resultatene av sammenligning som en boolsk verdi.
Merk at resultatet av det forrige programmet er det "falske" predikatet fordi predikatmetoden er case-sensitiv.
Eksempel 4
Det er en annen predikatgrensesnittmetode som kalles predikatet.eller(). Predikatet.eller () -metoden fungerer på samme måte som "eller" -operatøren. Dette vil returnere sant selv om en eller to predikatverdier er sanne og den andre er falsk.
Vi opprettet predikatobjektet “Element1” og “Element2”, der strengpredikatet er gitt. Vi har brukt contunn () -metoden for å spesifisere strengene i disse predikatobjektene. Deretter kalte vi predikatet.eller () metode med test () -metoden der strengfrasen er satt. Fra disse strengsetningene, predikatet.eller () -metoden finner substrengene som er spesifisert i predikatobjektene og genererer de boolske verdiene.
Følgende predikatutgang oppnås fra predikatet.eller () operasjon:
Eksempel 5
Strømmen av elementer fra den gitte predikatverdien kan filtreres ut med filter () -metoden til predikatgrensesnittet. Denne metoden aksepterer bare predikatverdien som et argument og oppretter en ny strøm som inneholder de første strømelementene som samsvarer med det gitte predikatet.
Vi har opprettet listeobjektet “myList” og angir listen over matriser som inneholder tilfeldige heltallverdier. Etter det kalte vi predikatstrømmetoden () for å få strømelementet fra matrisen, som er større enn en predikatverdi. Predikatet sendes som en inngang i filter () -metoden. Strømmen av filtrerte elementer vil bli samlet, og Tolist () -metoden forvandler disse elementene til listeformatet, som vil bli skrevet ut på skjermen.
Strømmen av heltallverdier oppnås som en utgang fra predikatfilteret () -metoden.
Eksempel 6
Som predikatet.eller () metode, Java Predicate gir også predikatet.og () metode. Det gir et sammensatt predikat som logisk og er resultatene av begge predikatene.
Vi har satt predikatgrensesnittet, som tar argumenttypen "heltall". Deretter har vi definert et predikatgrensesnittobjekt "størrehan" og "Lesshan" der predikatet er satt til det større enn drift og mindre enn drift. Etter det komponerte vi de to foregående predikatene ved bruk av og () -metoden. Metoden og () metoden brukes med test () -metoden for å teste med verdien spesifisert som en parameter.
Metoden og () metoden returnerer den sanne verdien av boolsk fordi verdien “30” er større enn “15” og mindre enn “15”.
Eksempel 7
Nå brukes predikatet Negate () -metoden for å samle alle verdier som ikke oppfyller de forhåndsbestemte kriteriene.
Vi har laget en predikatvariabel "StartSwithLetter" og gitt predikatet der startswith () kalles. Denne metoden vil ikke returnere elementet som starter med bokstaven “J”. Deretter etablerte vi en liste over store bokstaver. Deretter påkalte vi predikatet Negate () -metoden, som samler karakterene som ikke starter med bokstaven “J” og genererer strømmen av gjenværende tegn i form av en liste.
Utgangslisten viser at verdiene startet med et annet tegn bortsett fra karakteren “j”.
Konklusjon
Java Predicate -grensesnitt er en avgjørende komponent i programvaretesting. Utviklere bruker hovedsakelig predikater grensesnitt for enhver aktivitet som innebærer å analysere objekter etter forhåndsbestemte standarder. Vi har brukt forskjellige predikatgrensesnittmetoder og vist frem hvordan disse metodene utførte i Java. Disse metodene inkluderer standard logisk metode og noen annen predikatfunksjonsmetode.