scilab: fix allprotected test

This commit is contained in:
Simon Marchetto 2014-09-26 17:23:41 +02:00
commit 78360b4d1b
2 changed files with 51 additions and 31 deletions

View file

@ -8,6 +8,11 @@
%include "std_string.i" %include "std_string.i"
#ifdef SWIGSCILAB
%rename(ProcBase) ProtectedBase;
%rename(PubBase) PublicBase;
#endif
%feature("director") PublicBase; %feature("director") PublicBase;
%feature("director") ProtectedBase; %feature("director") ProtectedBase;

View file

@ -1,55 +1,70 @@
exec("swigtest.start", -1); exec("swigtest.start", -1);
// Class Klass // Class Klass
try try
klass = new_Klass("allprotected_klass"); klass = new_Klass("allprotected_klass")
catch catch
swigtesterror(); swigtesterror(lasterror());
end end
if Klass_getName(klass) <> "allprotected_klass" then swigtesterror(); end checkequal(Klass_getName(klass), "allprotected_klass", "Klass_getName(new_Klass(""allprotected_klass""))");
// Class PublicBase // Class PubBase
try try
publicBase = new_PublicBase("allprotected_publicbase"); pubBase = new_PubBase("allprotected_PubBase");
catch catch
swigtesterror(); swigtesterror(lasterror());
end end
if PublicBase_virtualMethod(publicBase) <> "PublicBase" then swigtesterror(); end checkequal(PubBase_virtualMethod(pubBase), "PublicBase", "PubBase_virtualMethod(pubBase)");
if Klass_getName(PublicBase_instanceMethod(publicBase, klass)) <> "allprotected_klass" then swigtesterror(); end
if Klass_getName(PublicBase_instanceOverloaded(publicBase, klass)) <> "allprotected_klass" then swigtesterror(); end
if Klass_getName(PublicBase_instanceOverloaded(publicBase, klass, "allprotected_klass2")) <> "allprotected_klass2" then swigtesterror(); end
if Klass_getName(PublicBase_staticMethod(klass)) <> "allprotected_klass" then swigtesterror(); end
if Klass_getName(PublicBase_staticOverloaded(klass)) <> "allprotected_klass" then swigtesterror(); end
if Klass_getName(PublicBase_staticOverloaded(klass, "allprotected_klass3")) <> "allprotected_klass3" then swigtesterror(); end
if PublicBase_EnumVal1_get() <> 0 then swigtesterror(); end
if PublicBase_EnumVal2_get() <> 1 then swigtesterror(); end
class = PubBase_instanceMethod(pubBase, klass);
checkequal(Klass_getName(class), "allprotected_klass", "Klass_getName(PubBase_instanceMethod(pubBase, klass))");
class = PubBase_instanceOverloaded(pubBase, klass);
checkequal(Klass_getName(class), "allprotected_klass", "Klass_getName(PubBase_instanceOverloaded(pubBase, klass))");
class = PubBase_instanceOverloaded(pubBase, klass, "allprotected_klass2");
checkequal(Klass_getName(class), "allprotected_klass2", "Klass_getName(PubBase_instanceOverloaded(pubBase, klass, ""allprotected_klass2""))");
class = PubBase_staticMethod(klass);
checkequal(Klass_getName(class), "allprotected_klass", "Klass_getName(PubBase_staticMethod(klass))");
class = PubBase_staticOverloaded(klass);
checkequal(Klass_getName(class), "allprotected_klass", "Klass_getName(PubBase_staticOverloaded(klass))");
class = PubBase_staticOverloaded(klass, "allprotected_klass3");
checkequal(Klass_getName(class), "allprotected_klass3", "Klass_getName(PubBase_staticOverloaded(klass, ""allprotected_klass3""))");
checkequal(PubBase_EnumVal1_get(), 0, "PubBase_EnumVal1_get()");
checkequal(PubBase_EnumVal2_get(), 1, "(PubBase_EnumVal2_get()");
PubBase_instanceMemb_set(pubBase, 12);
checkequal(PubBase_instanceMemb_get(pubBase), 12, "PubBase_instanceMemb_get(pubBase)");
checkequal(PubBase_staticConstM_get(), 20, "PubBase_staticConstM_get()");
checkequal(PubBase_staticMember_get(), 10, "PubBase_staticMember_get()")
PubBase_stringMember_set(pubBase, "dummy");
checkequal(PubBase_stringMember_get(pubBase), "dummy", "PubBase_stringMember_get()");
// TODO does not work (wrong ENUM mapping?) // TODO does not work (wrong ENUM mapping?)
//PublicBase_anEnum_get(publicBase) //PubBase_anEnum_get(PubBase)
//PublicBase_anEnum_set(publicBase, ???) //PubBase_anEnum_set(PubBase, ???)
// TODO Can not be tested in Sciolab because too long identifiers
//PublicBase_instanceMemberVariabl
//PublicBase_instanceMemberVariabl
//PublicBase_staticConstMemberVari
//PublicBase_staticMemberVariable_
//PublicBase_staticMemberVariable_
//PublicBase_stringMember_get
//PublicBase_stringMember_set
// Class ProtectedBase // Class ProcBase
try try
// Constructor is propected and must not be defined here // Constructor is propected and must not be defined here
protectedBase = new_ProtectedBase("allprotected_protectedbase"); ProcBase = new_ProctectedBase("allprotected_ProcBase");
swigtesterror(); swigtesterror();
catch catch
end end
if ProtectedBase_EnumVal1_get() <> 0 then swigtesterror(); end checkequal(ProcBase_EnumVal1_get(), 0, "ProcBase_EnumVal1_get()");
if ProtectedBase_EnumVal2_get() <> 1 then swigtesterror(); end checkequal(ProcBase_EnumVal2_get(), 1, "ProcBase_EnumVal2_get()");
try try
delete_Klass(klass); delete_Klass(klass);
@ -57,7 +72,7 @@ catch
swigtesterror(); swigtesterror();
end end
try try
delete_PublicBase(publicBase); delete_PubBase(pubBase);
catch catch
swigtesterror(); swigtesterror();
end end