NzbFile_false

NzbFile, incorrect version

function getFileName(self: Ref) : Ref function getFileName_toLowerCase_endsWith(self: Ref, str: Int) : Bool function getSubject(self: Ref): Int define return(x) { assert !returned returned := true res := x } function sgn(i: Int) : Int ensures i > 0 ==> result == 1 ensures i == 0 ==> result == 0 ensures i < 0 ==> result == -1 method Int_compare(o1: Int, o2: Int) returns(res: Int) ensures (rel(o1, 0) == rel(o2, 1) && rel(o2, 0) == rel(o1, 1)) ==> (sgn(rel(res, 0)) == -sgn(rel(res, 1))) // P1 method String_compare(o1: Ref, o2: Ref) returns(res: Int) ensures (rel(o1, 0) == rel(o2, 1) && rel(o2, 0) == rel(o1, 1)) ==> (sgn(rel(res, 0)) == -sgn(rel(res, 1))) // P1 method compare(o1: Ref, o2: Ref) returns (res: Int) requires rel(o1, 0) == rel(o2, 1) && rel(o2, 0) == rel(o1, 1) ensures (sgn(rel(res, 0)) == -sgn(rel(res, 1))) // P1 { var returned : Bool returned := false if ((getFileName(o1) != null) && (getFileName(o2) != null)){ if (getFileName_toLowerCase_endsWith(o1, 1)){ // ".nfo" return(-1000) }elseif (getFileName_toLowerCase_endsWith(o2, 1)){ // ".nfo" return(1000) }elseif (getFileName_toLowerCase_endsWith(o1, 2)){ // ".sfv" return(-999) }elseif (getFileName_toLowerCase_endsWith(o2, 2)){ // ".sfv" return(1001) }elseif (getFileName_toLowerCase_endsWith(o1, 3)){ // ".srr" return(-998) }elseif (getFileName_toLowerCase_endsWith(o2, 3)){ // ".srr" return(1002) }elseif (getFileName_toLowerCase_endsWith(o1, 4)){ // ".nzb" return(-997) }elseif (getFileName_toLowerCase_endsWith(o2, 4)){ // ".nzb" return(1003) }elseif (getFileName_toLowerCase_endsWith(o1, 5)){ //".srt" return(-996) }elseif (getFileName_toLowerCase_endsWith(o2, 5)){ // ".srt" return(1004) }else { var tmp: Int tmp := String_compare(getFileName(o1), getFileName(o2)) return(tmp) } } elseif ((getFileName(o1) != null) && (getFileName(o2) == null)) { return(-995) } elseif ((getFileName(o1) == null) && (getFileName(o2) != null)) { return(1005) } else { var tmp: Int tmp := Int_compare(getSubject(o1), getSubject(o2)) return(tmp) } assert returned }