public void Should_match_the_second_case( MyStruct1 instance) { int result = Match(instance); Assert.Equal(2, result); }
public Boolean runTest() { int iCountErrors = 0; int iCountTestcases = 0; String strLoc="123_er"; Console.Out.Write( s_strClassMethod ); Console.Out.Write( ": " ); Console.Out.Write( s_strTFPath + s_strTFName ); Console.Out.Write( ": " ); Console.Out.Write( s_strDtTmVer ); Console.Out.WriteLine( " runTest started..." ); ValueType vt1; MyStruct1 mystr1; MyStruct2 mystr2; Int64 lVal; try { mystr1 = new MyStruct1(5); iCountTestcases++; if(!mystr1.ToString().Equals("MyStruct1")) { iCountErrors++; Console.WriteLine("Err_53vd! ValueType change detected, please take a look"); } vt1 = mystr1; iCountTestcases++; if(!vt1.ToString().Equals("MyStruct1")) { iCountErrors++; Console.WriteLine("Err_8536cd! ValueType change detected, please take a look"); } lVal = 50; mystr2 = new MyStruct2(lVal); iCountTestcases++; if(!mystr2.ToString().Equals("50")) { iCountErrors++; Console.WriteLine("Err_210cdp! ValueType change detected, please take a look, " + mystr2); } vt1 = mystr2; iCountTestcases++; if(!vt1.ToString().Equals("50")) { iCountErrors++; Console.WriteLine("Err_93246cds! ValueType change detected, please take a look, " + vt1); } }catch (Exception exc_general){ ++iCountErrors; Console.WriteLine( s_strTFAbbrev +"Error Err_8888yyy! strLoc=="+ strLoc +" ,exc_general=="+ exc_general ); } if ( iCountErrors == 0 ){ Console.Error.WriteLine( "paSs. "+ s_strTFPath +" "+ s_strTFName +" ,iCountTestcases=="+ iCountTestcases ); return true; } else { Console.Error.WriteLine( "FAiL! "+ s_strTFPath +" "+ s_strTFName +" ,iCountErrors=="+ iCountErrors +" ,BugNums?: "+ s_strActiveBugNums ); return false; } }
opMyStruct1Async(MyStruct1 value, Action <MyStruct1> response, Action <Exception> exception, Ice.Current current) { response(value); }
public static int Check1(int w, int i1, int i2, int i3, int i4, int i5, int i6, int i7, MyStruct1 s1) { if ((w != 1) || (s1.f1 != i1) || (s1.f2 != i2) || (s1.f3 != i3) || (s1.f4 != i4)) { Console.WriteLine("Check1: FAIL"); return(Fail); } Console.WriteLine("Check1: PASS"); return(Pass); }
public Boolean runTest() { int iCountErrors = 0; int iCountTestcases = 0; String strLoc = "123_er"; Console.Out.Write(s_strClassMethod); Console.Out.Write(": "); Console.Out.Write(s_strTFPath + s_strTFName); Console.Out.Write(": "); Console.Out.Write(s_strDtTmVer); Console.Out.WriteLine(" runTest started..."); ValueType vt1; MyStruct1 mystr1; MyStruct2 mystr2; Int64 lVal; try { mystr1 = new MyStruct1(5); iCountTestcases++; if (!mystr1.ToString().Equals("MyStruct1")) { iCountErrors++; Console.WriteLine("Err_53vd! ValueType change detected, please take a look"); } vt1 = mystr1; iCountTestcases++; if (!vt1.ToString().Equals("MyStruct1")) { iCountErrors++; Console.WriteLine("Err_8536cd! ValueType change detected, please take a look"); } lVal = 50; mystr2 = new MyStruct2(lVal); iCountTestcases++; if (!mystr2.ToString().Equals("50")) { iCountErrors++; Console.WriteLine("Err_210cdp! ValueType change detected, please take a look, " + mystr2); } vt1 = mystr2; iCountTestcases++; if (!vt1.ToString().Equals("50")) { iCountErrors++; Console.WriteLine("Err_93246cds! ValueType change detected, please take a look, " + vt1); } }catch (Exception exc_general) { ++iCountErrors; Console.WriteLine(s_strTFAbbrev + "Error Err_8888yyy! strLoc==" + strLoc + " ,exc_general==" + exc_general); } if (iCountErrors == 0) { Console.Error.WriteLine("paSs. " + s_strTFPath + " " + s_strTFName + " ,iCountTestcases==" + iCountTestcases); return(true); } else { Console.Error.WriteLine("FAiL! " + s_strTFPath + " " + s_strTFName + " ,iCountErrors==" + iCountErrors + " ,BugNums?: " + s_strActiveBugNums); return(false); } }
opMyStruct1Async(MyStruct1 value, Ice.Current current) { return(Task.FromResult <MyStruct1>(value)); }
public Boolean runTest() { int iCountErrors = 0; int iCountTestcases = 0; String strLoc = "123_er"; Console.Out.Write(s_strClassMethod); Console.Out.Write(": "); Console.Out.Write(s_strTFPath + s_strTFName); Console.Out.Write(": "); Console.Out.Write(s_strDtTmVer); Console.Out.WriteLine(" runTest started..."); ValueType vt1; MyStruct1 mystr1; MyStruct1 mystr11; MyStruct2 mystr2; MyStruct2 mystr22; MyStruct3 mystr3; MyStruct3 mystr33; MyStruct4 mystr4; MyStruct4 mystr44; MyStruct5 mystr5; MyStruct5 mystr55; MyStruct6 mystr6; MyStruct6 mystr66; MyStruct7 mystr7; MyStruct7 mystr77; Color enumCol1; Color enumCol2; object objValue1; object objValue2; try { mystr1 = new MyStruct1(5); mystr11 = mystr1; iCountTestcases++; if (!mystr1.Equals(mystr11)) { iCountErrors++; Console.WriteLine("Err_53vd! ValueType change detected, please take a look"); } vt1 = mystr1; iCountTestcases++; if (!vt1.Equals(mystr1)) { iCountErrors++; Console.WriteLine("Err_8536cd! ValueType change detected, please take a look"); } objValue1 = mystr1; iCountTestcases++; if (!objValue1.Equals(mystr1)) { iCountErrors++; Console.WriteLine("Err_7563fdg! ValueType change detected, please take a look"); } mystr1 = new MyStruct1(5); mystr11 = new MyStruct1(5); iCountTestcases++; if (!mystr1.Equals(mystr11)) { iCountErrors++; Console.WriteLine("Err_175td! ValueType change detected, please take a look"); } mystr1 = new MyStruct1(5); mystr2 = new MyStruct2(5); iCountTestcases++; if (mystr1.Equals(mystr2)) { iCountErrors++; Console.WriteLine("Err_62c8sb! ValueType change detected, please take a look"); } mystr2 = new MyStruct2(5); mystr22 = new MyStruct2(5); iCountTestcases++; if (!mystr2.Equals(mystr22)) { iCountErrors++; Console.WriteLine("Err_753cs! ValueType change detected, please take a look"); } mystr2 = new MyStruct2(5); mystr22 = new MyStruct2(5); vt1 = mystr22; iCountTestcases++; if (!mystr2.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_653cds! ValueType change detected, please take a look"); } mystr3 = new MyStruct3(); mystr33 = new MyStruct3(); iCountTestcases++; if (!mystr3.Equals(mystr33)) { iCountErrors++; Console.WriteLine("Err_105ds! ValueType change detected, please take a look"); } vt1 = mystr33; iCountTestcases++; if (!mystr3.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_01435xs! ValueType change detected, please take a look"); } mystr4 = new MyStruct4(5); mystr44 = new MyStruct4(15); iCountTestcases++; if (!mystr4.Equals(mystr44)) { iCountErrors++; Console.WriteLine("Err_642cd! ValueType change detected, please take a look"); } mystr44 = new MyStruct4(20); vt1 = mystr44; iCountTestcases++; if (!mystr4.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_5420csd! ValueType change detected, please take a look"); } mystr5 = new MyStruct5(5); mystr55 = new MyStruct5(5); iCountTestcases++; if (!mystr5.Equals(mystr55)) { iCountErrors++; Console.WriteLine("Err_519amg! ValueType change detected, please take a look"); } vt1 = mystr55; iCountTestcases++; if (!mystr5.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_17cdx ValueType change detected, please take a look"); } mystr5 = new MyStruct5(5); mystr55 = new MyStruct5(15); iCountTestcases++; if (mystr5.Equals(mystr55)) { iCountErrors++; Console.WriteLine("Err_105xcs! ValueType change detected, please take a look"); } mystr6 = new MyStruct6(); mystr66 = new MyStruct6(); iCountTestcases++; if (!mystr6.Equals(mystr66)) { iCountErrors++; Console.WriteLine("Err_0356cd! ValueType change detected, please take a look"); } vt1 = mystr66; iCountTestcases++; if (!mystr6.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_045ds! ValueType change detected, please take a look"); } mystr7 = new MyStruct7(5); mystr77 = new MyStruct7(5); iCountTestcases++; if (mystr7.Equals(mystr77)) { iCountErrors++; Console.WriteLine("Err_02345cd! ValueType change detected, please take a look"); } vt1 = mystr77; iCountTestcases++; if (mystr7.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_2106fcd ValueType change detected, please take a look"); } mystr7 = new MyStruct7(5); mystr77 = new MyStruct7(15); iCountTestcases++; if (mystr7.Equals(mystr77)) { iCountErrors++; Console.WriteLine("Err_0436cs! ValueType change detected, please take a look"); } enumCol1 = Color.Red; enumCol2 = Color.Red; iCountTestcases++; if (!enumCol1.Equals(enumCol2)) { iCountErrors++; Console.WriteLine("Err_0436cs! ValueType change detected, please take a look"); } objValue1 = enumCol1; objValue2 = enumCol2; iCountTestcases++; if (!objValue1.Equals(objValue2)) { iCountErrors++; Console.WriteLine("Err_0436cs! ValueType change detected, please take a look"); } }catch (Exception exc_general) { ++iCountErrors; Console.WriteLine(s_strTFAbbrev + "Error Err_8888yyy! strLoc==" + strLoc + " ,exc_general==" + exc_general); } if (iCountErrors == 0) { Console.Error.WriteLine("paSs. " + s_strTFPath + " " + s_strTFName + " ,iCountTestcases==" + iCountTestcases); return(true); } else { Console.Error.WriteLine("FAiL! " + s_strTFPath + " " + s_strTFName + " ,iCountErrors==" + iCountErrors + " ,BugNums?: " + s_strActiveBugNums); return(false); } }
public Boolean runTest() { int iCountErrors = 0; int iCountTestcases = 0; String strLoc="123_er"; Console.Out.Write( s_strClassMethod ); Console.Out.Write( ": " ); Console.Out.Write( s_strTFPath + s_strTFName ); Console.Out.Write( ": " ); Console.Out.Write( s_strDtTmVer ); Console.Out.WriteLine( " runTest started..." ); ValueType vt1; MyStruct1 mystr1; MyStruct2 mystr2; MyStruct3 mystr3; MyStruct4 mystr4; MyStruct5 mystr5; MyStruct6 mystr6; MyStruct7 mystr7; Int32 iValue; try { iValue = 5; mystr1 = new MyStruct1(5); iCountTestcases++; if(mystr1.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_53vd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } vt1 = mystr1; iCountTestcases++; if(vt1.GetHashCode() != mystr1.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_8536cd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } iValue = 5; mystr2 = new MyStruct2(5); iCountTestcases++; if(mystr2.GetHashCode() != iValue*2) { iCountErrors++; Console.WriteLine("Err_539fvd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } vt1 = mystr2; iCountTestcases++; if(vt1.GetHashCode() != iValue*2) { iCountErrors++; Console.WriteLine("Err_0565cs! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } mystr3 = new MyStruct3(); iCountTestcases++; if(mystr3.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_6553cs! ValueType change detected, please take a look, " + mystr3.GetHashCode()); } vt1 = mystr3; iCountTestcases++; if(vt1.GetHashCode() != mystr3.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_014xs! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr4 = new MyStruct4(10); iCountTestcases++; if(mystr4.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_5538cd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } vt1 = mystr4; iCountTestcases++; if(vt1.GetHashCode() != mystr4.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_510apm! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } mystr5 = new MyStruct5(); iCountTestcases++; if(mystr5.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_295msn! ValueType change detected, please take a look, " + mystr5.GetHashCode()); } vt1 = mystr5; iCountTestcases++; if(vt1.GetHashCode() != mystr5.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_0432emc! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr5 = new MyStruct5(10); iCountTestcases++; if(mystr5.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_54238ds! ValueType change detected, please take a look, " + mystr5.GetHashCode()); } vt1 = mystr5; iCountTestcases++; if(vt1.GetHashCode() != mystr5.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_6530vf! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr6 = new MyStruct6(); iCountTestcases++; if(mystr6.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_753fsd! ValueType change detected, please take a look, " + mystr5.GetHashCode()); } vt1 = mystr6; iCountTestcases++; if(vt1.GetHashCode() != mystr6.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_7634vcd! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr7 = new MyStruct7(5); iCountTestcases++; if(mystr7.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_653cd! ValueType change detected, please take a look, " + mystr7.GetHashCode() + " " + typeof(MyStruct7).GetHashCode()); } vt1 = mystr7; iCountTestcases++; if(vt1.GetHashCode() != mystr7.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_6537dsfc ValueType change detected, please take a look, " + vt1.GetHashCode()); } }catch (Exception exc_general){ ++iCountErrors; Console.WriteLine( s_strTFAbbrev +"Error Err_8888yyy! strLoc=="+ strLoc +" ,exc_general=="+ exc_general ); } if ( iCountErrors == 0 ){ Console.Error.WriteLine( "paSs. "+ s_strTFPath +" "+ s_strTFName +" ,iCountTestcases=="+ iCountTestcases ); return true; } else { Console.Error.WriteLine( "FAiL! "+ s_strTFPath +" "+ s_strTFName +" ,iCountErrors=="+ iCountErrors +" ,BugNums?: "+ s_strActiveBugNums ); return false; } }
public Boolean runTest() { int iCountErrors = 0; int iCountTestcases = 0; String strLoc="123_er"; Console.Out.Write( s_strClassMethod ); Console.Out.Write( ": " ); Console.Out.Write( s_strTFPath + s_strTFName ); Console.Out.Write( ": " ); Console.Out.Write( s_strDtTmVer ); Console.Out.WriteLine( " runTest started..." ); ValueType vt1; MyStruct1 mystr1; MyStruct1 mystr11; MyStruct2 mystr2; MyStruct2 mystr22; MyStruct3 mystr3; MyStruct3 mystr33; MyStruct4 mystr4; MyStruct4 mystr44; MyStruct5 mystr5; MyStruct5 mystr55; MyStruct6 mystr6; MyStruct6 mystr66; MyStruct7 mystr7; MyStruct7 mystr77; Color enumCol1; Color enumCol2; object objValue1; object objValue2; try { mystr1 = new MyStruct1(5); mystr11 = mystr1; iCountTestcases++; if(!mystr1.Equals(mystr11)) { iCountErrors++; Console.WriteLine("Err_53vd! ValueType change detected, please take a look"); } vt1 = mystr1; iCountTestcases++; if(!vt1.Equals(mystr1)) { iCountErrors++; Console.WriteLine("Err_8536cd! ValueType change detected, please take a look"); } objValue1 = mystr1; iCountTestcases++; if(!objValue1.Equals(mystr1)) { iCountErrors++; Console.WriteLine("Err_7563fdg! ValueType change detected, please take a look"); } mystr1 = new MyStruct1(5); mystr11 = new MyStruct1(5); iCountTestcases++; if(!mystr1.Equals(mystr11)) { iCountErrors++; Console.WriteLine("Err_175td! ValueType change detected, please take a look"); } mystr1 = new MyStruct1(5); mystr2 = new MyStruct2(5); iCountTestcases++; if(mystr1.Equals(mystr2)) { iCountErrors++; Console.WriteLine("Err_62c8sb! ValueType change detected, please take a look"); } mystr2 = new MyStruct2(5); mystr22 = new MyStruct2(5); iCountTestcases++; if(!mystr2.Equals(mystr22)) { iCountErrors++; Console.WriteLine("Err_753cs! ValueType change detected, please take a look"); } mystr2 = new MyStruct2(5); mystr22 = new MyStruct2(5); vt1 = mystr22; iCountTestcases++; if(!mystr2.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_653cds! ValueType change detected, please take a look"); } mystr3 = new MyStruct3(); mystr33 = new MyStruct3(); iCountTestcases++; if(!mystr3.Equals(mystr33)) { iCountErrors++; Console.WriteLine("Err_105ds! ValueType change detected, please take a look"); } vt1 = mystr33; iCountTestcases++; if(!mystr3.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_01435xs! ValueType change detected, please take a look"); } mystr4 = new MyStruct4(5); mystr44 = new MyStruct4(15); iCountTestcases++; if(!mystr4.Equals(mystr44)) { iCountErrors++; Console.WriteLine("Err_642cd! ValueType change detected, please take a look"); } mystr44 = new MyStruct4(20); vt1 = mystr44; iCountTestcases++; if(!mystr4.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_5420csd! ValueType change detected, please take a look"); } mystr5 = new MyStruct5(5); mystr55 = new MyStruct5(5); iCountTestcases++; if(!mystr5.Equals(mystr55)) { iCountErrors++; Console.WriteLine("Err_519amg! ValueType change detected, please take a look"); } vt1 = mystr55; iCountTestcases++; if(!mystr5.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_17cdx ValueType change detected, please take a look"); } mystr5 = new MyStruct5(5); mystr55 = new MyStruct5(15); iCountTestcases++; if(mystr5.Equals(mystr55)) { iCountErrors++; Console.WriteLine("Err_105xcs! ValueType change detected, please take a look"); } mystr6 = new MyStruct6(); mystr66 = new MyStruct6(); iCountTestcases++; if(!mystr6.Equals(mystr66)) { iCountErrors++; Console.WriteLine("Err_0356cd! ValueType change detected, please take a look"); } vt1 = mystr66; iCountTestcases++; if(!mystr6.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_045ds! ValueType change detected, please take a look"); } mystr7 = new MyStruct7(5); mystr77 = new MyStruct7(5); iCountTestcases++; if(mystr7.Equals(mystr77)) { iCountErrors++; Console.WriteLine("Err_02345cd! ValueType change detected, please take a look"); } vt1 = mystr77; iCountTestcases++; if(mystr7.Equals(vt1)) { iCountErrors++; Console.WriteLine("Err_2106fcd ValueType change detected, please take a look"); } mystr7 = new MyStruct7(5); mystr77 = new MyStruct7(15); iCountTestcases++; if(mystr7.Equals(mystr77)) { iCountErrors++; Console.WriteLine("Err_0436cs! ValueType change detected, please take a look"); } enumCol1 = Color.Red; enumCol2 = Color.Red; iCountTestcases++; if(!enumCol1.Equals(enumCol2)) { iCountErrors++; Console.WriteLine("Err_0436cs! ValueType change detected, please take a look"); } objValue1 = enumCol1; objValue2 = enumCol2; iCountTestcases++; if(!objValue1.Equals(objValue2)) { iCountErrors++; Console.WriteLine("Err_0436cs! ValueType change detected, please take a look"); } }catch (Exception exc_general){ ++iCountErrors; Console.WriteLine( s_strTFAbbrev +"Error Err_8888yyy! strLoc=="+ strLoc +" ,exc_general=="+ exc_general ); } if ( iCountErrors == 0 ){ Console.Error.WriteLine( "paSs. "+ s_strTFPath +" "+ s_strTFName +" ,iCountTestcases=="+ iCountTestcases ); return true; } else { Console.Error.WriteLine( "FAiL! "+ s_strTFPath +" "+ s_strTFName +" ,iCountErrors=="+ iCountErrors +" ,BugNums?: "+ s_strActiveBugNums ); return false; } }
public void TestStruct1Packet() { int size = MyStruct1.Size(); MyStruct1 v1 = new MyStruct1(); v1.m_byte = 1; v1.m_int = 2; v1.m_long = 3; var buffer = ByteBufferAllocator.Instance.Allocate(size); Serializer.Serialize(buffer, v1); Assert.AreEqual(size, buffer.Position); buffer.Rewind(); MyStruct1 v2 = Serializer.Deserialize<MyStruct1>(buffer); Assert.AreEqual(v1, v2); Assert.AreEqual(size, buffer.Position); }
public void Should_match_the_second_case( MyStruct1 instance) { int result = Match(instance); Assert.Equal(2, result); }
public int[][] ConvexHull(int[][] Kontur) { //function[CH] = convexhull2(Kontur) //CONVEXHULL Digunakan untuk mendapatkan convex hull dari suatu objek menggunakan metode 'Graham Scan'. //Masukan: Kontur = kontur objek, yamg berdimensi dua dengan kolom pertama berisi data Y dan kolom kedua berisi data X. //Keluaran: CH = Convex hull int jum = Kontur.Length; //Cari titik jangkar atau pivot int terkecil = 0; for (int a = 1; a < jum; a++) { if (Kontur[a][0] == Kontur[terkecil][0]) { if (Kontur[a][1] < Kontur[terkecil][1]) { terkecil = a; } } else if (Kontur[a][0] < Kontur[terkecil][0]) { terkecil = a; } } //Susun data dengan menyertakan sudut dan panjang, kecuali titik dengan posisi = terkecil int indeks = 0; List <MyStruct> Piksel = new List <MyStruct>(); for (int a = 0; a < jum; a++) { if (a == terkecil) { continue; } MyStruct ms = new MyStruct { y = Kontur[a][0], x = Kontur[a][1], jarak = Jarak(Kontur[terkecil], Kontur[a]), sudut = Sudut(Kontur[terkecil], Kontur[a]) }; Piksel.Insert(indeks, ms); indeks = indeks + 1; } Piksel.TrimExcess(); int jum_piksel = indeks; MyStruct x; //Lakukan pengurutan menurut sudut dan jarak for (int p = 1; p < jum_piksel; p++) { x = Piksel[p]; //Sisipkan x ke dalam data[1..p - 1] int q = p - 1; bool ketemu = false; while ((q >= 0) && (!ketemu)) { if (x.sudut < Piksel[q].sudut) { Piksel[q + 1] = Piksel[q]; q = q - 1; } else { ketemu = true; } Piksel[q + 1] = x; } } //Kalau ada sejumlah piksel dengan nilai sudut sama maka hanya yang jaraknya terbesar yang akan dipertahankan List <MyStruct> Piksel1 = Unik(Piksel); Piksel1.TrimExcess(); jum_piksel = Piksel1.Count; //Siapkan tumpukan List <MyStruct1> H = new List <MyStruct1>(); MyStruct1 titik = new MyStruct1(); //Proses pemindaian. Mula - mula sisipkan dua titik H.Add(new MyStruct1 { y = Kontur[terkecil][0], x = Kontur[terkecil][1] }); H.Add(new MyStruct1 { y = Piksel1[0].y, x = Piksel1[0].x }); MyStruct1 A = new MyStruct1(); MyStruct1 B = new MyStruct1(); int i = 1; int top = 1; while (i < jum_piksel) { titik.x = Piksel1[i].x; titik.y = Piksel1[i].y; //Ambil dua data pertama pada tumpukan H tanpa membuangnya A.x = H[top].x; A.y = H[top].y; B.x = H[top - 1].x; B.y = H[top - 1].y; //top = top + 1; bool putar = PutarKanan(A.x, A.y, B.x, B.y, titik.x, titik.y); if (putar == true) { //Pop data pada tumpukan H top = top - 1; } else { //Tumpuk titik ke tumpukan H top = top + 1; if (H.Count - 1 <= top) { H.Add(A); } H[top] = titik; i = i + 1; } } H.RemoveAt(H.Count - 1); H.TrimExcess(); //Ambil data dari tumpukan H List <MyStruct1> C = new List <MyStruct1>(); indeks = 0; while (top != -1) { //Pop data dari tumpukan H //C[indeks] = H[top]; C.Insert(indeks, H[top]); top = top - 1; //indeks = indeks + 1; } C.TrimExcess(); int[] xValue = C.Select(a => a.x).ToArray(); int[] yValue = C.Select(a => a.y).ToArray(); int[][] ConvexHull = new int[xValue.GetLength(0)][]; for (int t = 0; t < xValue.GetLength(0); t++) { ConvexHull[t] = new int[2] { yValue[t], xValue[t] }; } return(ConvexHull); }
public int[][] InboundTracing(byte[,] BW) { //function[Kontur] = inbound_tracing(BW) //INBOUND_TRACING memperoleh kontur yang telah diurutkan dengan algoritma pelacakan kontur Moore int jum_baris = BW.GetLength(0); int jum_kolom = BW.GetLength(1); byte[,] gambar = new byte[jum_baris + 4, jum_kolom + 4]; for (int i1 = 0, i2 = 2; i1 < jum_baris; i1++, i2++) { for (int j1 = 0, j2 = 2; j1 < jum_kolom; j1++, j2++) { gambar[i2, j2] = BW[i1, j1]; } } BW = gambar; jum_baris = jum_baris + 4; jum_kolom = jum_kolom + 4; //peroleh piksel awal bool selesai = false; //int[] b0 = new int[2]; MyStruct1 b0 = new MyStruct1(); for (int p = 0; p < jum_baris; p++) { for (int q = 0; q < jum_kolom; q++) { if (BW[p, q] == 255) { b0.y = p; b0.x = q; selesai = true; break; } } if (selesai == true) { break; } } //periksa 8 tetangga dan cari piksel pertama yang bernilai 255 (putih) int c0 = 4, c1 = 5; //pengecekan pertama ke arah barat MyStruct1 b1 = new MyStruct1(); for (int p = 0; p < 8; p++) { int[] delta_piksel = DeltaPiksel(c0); int dy = delta_piksel[0]; int dx = delta_piksel[1]; if (BW[b0.y + dy, b0.x + dx] == 255) { b1.y = b0.y + dy; b1.x = b0.x + dx; c1 = Sebelum(c0); break; } else { c0 = Berikut(c0); } } List <MyStruct1> Kontur = new List <MyStruct1> { b0, b1 }; MyStruct1 b = b1; int c = c1; // % Ulangi sampai berakhir while (true) { for (int p = 0; p < 8; p++) { int[] delta_piksel = DeltaPiksel(c); int dy = delta_piksel[0]; int dx = delta_piksel[1]; if (BW[b.y + dy, b.x + dx] == 255) { b.y = b.y + dy; b.x = b.x + dx; //if (Kontur.Contains(b)) { continue; } c = Sebelum(c); Kontur.Add(b); break; } else { c = Berikut(c); } } //kondisi pengakhir pengulangan if ((b.y == b0.y) && (b.x == b0.x)) { break; } } Kontur.TrimExcess(); int[] xValue = Kontur.Select(item => item.x).ToArray(); int[] yValue = Kontur.Select(item => item.y).ToArray(); int[][] KonturArray = new int[xValue.Length][]; for (int i = 0; i < yValue.Length; i++) { KonturArray[i] = new int[2] { yValue[i], xValue[i] }; } return(KonturArray); }
public Boolean runTest() { int iCountErrors = 0; int iCountTestcases = 0; String strLoc = "123_er"; Console.Out.Write(s_strClassMethod); Console.Out.Write(": "); Console.Out.Write(s_strTFPath + s_strTFName); Console.Out.Write(": "); Console.Out.Write(s_strDtTmVer); Console.Out.WriteLine(" runTest started..."); ValueType vt1; MyStruct1 mystr1; MyStruct2 mystr2; MyStruct3 mystr3; MyStruct4 mystr4; MyStruct5 mystr5; MyStruct6 mystr6; MyStruct7 mystr7; Int32 iValue; try { iValue = 5; mystr1 = new MyStruct1(5); iCountTestcases++; if (mystr1.GetHashCode() != iValue) { iCountErrors++; Console.WriteLine("Err_53vd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } vt1 = mystr1; iCountTestcases++; if (vt1.GetHashCode() != iValue) { iCountErrors++; Console.WriteLine("Err_8536cd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } iValue = 5; mystr2 = new MyStruct2(5); iCountTestcases++; if (mystr2.GetHashCode() != iValue * 2) { iCountErrors++; Console.WriteLine("Err_539fvd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } vt1 = mystr2; iCountTestcases++; if (vt1.GetHashCode() != iValue * 2) { iCountErrors++; Console.WriteLine("Err_0565cs! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } mystr3 = new MyStruct3(); iCountTestcases++; if (mystr3.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_6553cs! ValueType change detected, please take a look, " + mystr3.GetHashCode()); } vt1 = mystr3; iCountTestcases++; if (vt1.GetHashCode() != mystr3.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_014xs! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr4 = new MyStruct4(10); iCountTestcases++; if (mystr4.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_5538cd! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } vt1 = mystr4; iCountTestcases++; if (vt1.GetHashCode() != mystr4.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_510apm! ValueType change detected, please take a look, " + mystr1.GetHashCode()); } mystr5 = new MyStruct5(); iCountTestcases++; if (mystr5.GetHashCode() != 0) { iCountErrors++; Console.WriteLine("Err_295msn! ValueType change detected, please take a look, " + mystr5.GetHashCode()); } vt1 = mystr5; iCountTestcases++; if (vt1.GetHashCode() != 0) { iCountErrors++; Console.WriteLine("Err_0432emc! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr5 = new MyStruct5(10); iCountTestcases++; if (mystr5.GetHashCode() != 10 + 1) { iCountErrors++; Console.WriteLine("Err_54238ds! ValueType change detected, please take a look, " + mystr5.GetHashCode()); } vt1 = mystr5; iCountTestcases++; if (vt1.GetHashCode() != 10 + 1) { iCountErrors++; Console.WriteLine("Err_6530vf! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr6 = new MyStruct6(); iCountTestcases++; if (mystr6.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_753fsd! ValueType change detected, please take a look, " + mystr5.GetHashCode()); } vt1 = mystr6; iCountTestcases++; if (vt1.GetHashCode() != mystr6.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_7634vcd! ValueType change detected, please take a look, " + vt1.GetHashCode()); } mystr7 = new MyStruct7(5); iCountTestcases++; if (mystr7.GetHashCode() == 0) { iCountErrors++; Console.WriteLine("Err_653cd! ValueType change detected, please take a look, " + mystr7.GetHashCode() + " " + typeof(MyStruct7).GetHashCode()); } vt1 = mystr7; iCountTestcases++; if (vt1.GetHashCode() != mystr7.GetHashCode()) { iCountErrors++; Console.WriteLine("Err_6537dsfc ValueType change detected, please take a look, " + vt1.GetHashCode()); } }catch (Exception exc_general) { ++iCountErrors; Console.WriteLine(s_strTFAbbrev + "Error Err_8888yyy! strLoc==" + strLoc + " ,exc_general==" + exc_general); } if (iCountErrors == 0) { Console.Error.WriteLine("paSs. " + s_strTFPath + " " + s_strTFName + " ,iCountTestcases==" + iCountTestcases); return(true); } else { Console.Error.WriteLine("FAiL! " + s_strTFPath + " " + s_strTFName + " ,iCountErrors==" + iCountErrors + " ,BugNums?: " + s_strActiveBugNums); return(false); } }