View Full Version : [Frage] Test Methode
Könnte einer einen kurzen BeispielCode posten wie er die Methode gelöst hat? ich hab keine Ahnung wie ich da anfangen soll....
danke
public class processTest
{
public static void main (String[] args)
{
byte[] test=new byte[100000];
byte[] result;
for (int i=0; i<100000; i++) testArray[fill]= 17; //mit Testwerten füllen...
MyEffect me= new MyEffect();
MyControlInterface mControl=(MyControlInterface) me.getControl("MyControl");
java.awt.Dimension size=new java.awt.Dimension(100,100);
Format testFormat=new RGBFormat(size, 100000, Format.byteArray , 1, 24,3,2,1,3,-1,0,-1);
//bzw entsprechend für AudioCodecs oder 32bit-Formate
me.setInputFormat(testFormat);
Format x=me.setOutputFormat(testFormat);
Buffer input=new Buffer();
Buffer output=new Buffer();
input.setFormat(testFormat);
input.setData(tes);
input.setLength(100000);
output.setFormat(testFormat);
output.setData(test);
output.setLength(100000);
me.process(input,output);
result=(byte[])output.getData();
/* und danach kannst du result[] überprüfen */
}
}
mfg
frage noch
wie überprüft ihr wirklich ob das ergebnis stimmt
wenn du einen effekt drüberlegst ala uhr (uhr wird über video geblendet)
soll ich dann nachher überprüfen ob die uhr im buffer drin ist, oda was ?
dankbar für ratschläge
der Sinn der Testmethode ist, dass du zufällige Werte über einen fixen Inputstream mischst, d.h. bei Audio kannst z.b. einen Inputbuffer aus lauter nullen an das process() übergeben, das wiederum völlig zufällige Samples dazumischt -> jetzt berechnest du in der Testmethode dieses Mischen einfach nochmals nach und schaust, ob der Effekt richtig gearbeitet hast, indem du die sollwerte mit den istwerten vergleichst
-> natürlich musst du auch begin/end zeiten beachten etc..
meine Testklasse arbeitet so, dass wir eben diesen Inputbuffer mit lauter nullen jedesmal übergeben: start, endzeit, gain, gain der zugemischten Samples etc.. sowie die zuzumischenden Samples selber kommen aus dem Zufallsgenerator (Random aus java.util oder java.lang, keine Ahnung) -> wenn wir außerhalb des Beginn/Ende Intervalls liegen, müssen lauter nullen wieder rauskommen (nix gemischt), ansonsten die Zufallssamples durch 2 (absolute Stille mit Zufallssample gemischt)... Dann wird pro 16bit Sample verglichen, bei abweichung brechen wir ab und schreiben "Der Effekt funktioniert nicht" hin...
an sich eine relativ sinnlose, aber leider verlangte Aufgabe -> ich denke, es dient einfach dazu, dass auch fehler erkannt werden, die man mit dem bloßen Auge bzw. Ohr beim testen des Effektes nicht bemerken täte... (denn kein Mensch kann hören, ob als GainWert jetzt 0.3432 oder 0.3431 verwendet worden ist...)
das heisst, dass es für video reicht, zu überprüfen ob er zeichnet oder nicht
ich kann ja nicht überprüfen ob er jedes einzelne pixel richtig gesetzt hat oder ?
d.h. ich nehm nen buffer und füll ihn mit 0 werten
einen zweiten buffer mit 0 werten schick in in die process methode und wenn die zwei dann unterschiedlich sind, weiss ich dass der effekt arbeitet (ob er 100% richtig funktioniert kann man ja nur seeeehr umständlich überprüfen)
SuperStar
30-01-2003, 20:33
Hi,
ich bekomme dauernd die "Error java.lang.NullPointerException" beim aufrufen vom process.
Hat das sonst noch wer, bzw. hat wer ne Ahnung wieso das passiert? :confused:
grüsse,
SuperStar
bei mir kommt auch ne java.lang.NullPointerException in der Zeile von : FlimBalk.process(input,output);
weiß einer rat?
EvilGuyMischa
31-01-2003, 04:23
Original geschrieben von Megabit
bei mir kommt auch ne java.lang.NullPointerException in der Zeile von : FlimBalk.process(input,output);
weiß einer rat?
du könntest die exception mit einer try catch schleife abfangen und einfach true ausgeben^
lifelikebmx
31-01-2003, 13:31
Original geschrieben von EvilGuyMischa
du könntest die exception mit einer try catch schleife abfangen und einfach true ausgeben^
yeah cooler tipp, werd ich um mein ganzes programm geben und jede exception mit "sorry not yet implemented" oder so abfangen ahhaahah
------------------------------------------------------------------
www.lifelikebmx.com
Siehe Forum Regeln (unten), welche Textformatierungscodes Du in Deinem Beitrag benutzen darfst.
danke, für diese WUNDERBAREN TIPS :P
habs schon gefunden .... da war eine zahl falsch ,grummel
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.