swig/Examples/test-suite/csharp
Olly Betts f2de21eb83 Parse common cases of `<` and `>` comparisons
Adding full support for these in expressions seems hard to do without
introducing conflicts into the parser grammar, but in fact all reported
cases have had parentheses around the comparison and we can support that
with a few restrictions on the left side of `<`.

Fixes #80 and #635.  Also https://sourceforge.net/p/swig/bugs/1139/
2022-01-25 14:09:41 +13:00
..
Makefile.in Add and improve Ruby test cases in the context of nesting and namespaces 2020-12-16 22:30:46 +01:00
README csharp test-suite infrastructure 2003-03-04 23:00:21 +00:00
aggregate_runme.cs All tests now use the -namespace commandline option 2004-02-24 21:06:54 +00:00
allprotected_runme.cs Fix C# CA1063 warning by implementing the recommended Dispose methods. 2019-04-08 19:20:45 +01:00
apply_strings_runme.cs ensure %apply with char*, unsigned char* and signed char* works 2006-05-03 20:58:19 +00:00
bools_runme.cs remove executable bits 2009-05-01 06:21:56 +00:00
catches_runme.cs Fix exception handling when %catches is used in C# 2009-08-15 23:22:20 +00:00
char_strings_runme.cs More string tests: char const*const 2010-05-01 10:01:26 +00:00
complextest_runme.cs Fix C# std::complex pass by value typemaps 2017-10-02 19:07:24 +01:00
constover_runme.cs All tests now use the -namespace commandline option 2004-02-24 21:06:54 +00:00
cpp11_shared_ptr_template_upcast_runme.cs Applying shared_ptr template upcast fix to CSharp, adding CSharp test, and cleanup 2019-05-06 15:30:54 -04:00
cpp11_std_array_runme.cs rename std::array testcase 2019-02-13 22:46:20 +00:00
cpp11_strongly_typed_enumerations_runme.cs Fix regression in introduced in merge of C++11 strongly typed enums support 2014-12-07 21:31:14 +00:00
cpp17_nested_namespaces_runme.cs Add c++17 nested namespaces runtime test for C# 2018-05-14 21:03:31 +01:00
cpp17_nspace_nested_namespaces_runme.cs Test c++17 nested namespaces and %nspace 2018-05-14 21:03:31 +01:00
csharp_attributes_runme.cs document directorinattributes and directoroutattributes 2009-10-01 18:16:09 +00:00
csharp_director_typemaps_runme.cs 'out' or 'ref' usage in a cstype typemap in directors 2019-11-26 19:32:34 +00:00
csharp_exceptions_runme.cs More diagnostics for csharp_exceptions testcase for diagnosing erratic failures 2014-05-25 12:00:42 +01:00
csharp_lib_arrays_bool_runme.cs Quieten failing bool[] testcase message 2019-07-16 19:46:32 +01:00
csharp_lib_arrays_runme.cs reverse merge last commit - 11348 2009-07-02 22:40:49 +00:00
csharp_prepost_runme.cs Fix spacing in generated code for csdirectorin 'pre', 'post' and 'terminator' attributes. Add some more tests for these attributes. 2013-01-11 19:47:10 +00:00
csharp_typemaps_runme.cs Back out valueparm attribute in the csvarin typemap. Add example usage of temporary variables in the csvarin typemap into docs. Modify CDate C# example. Add in special variable expansion in the csvarin typemap. 2007-09-21 23:58:00 +00:00
default_args_runme.cs more %rename/%ignore tests 2004-11-09 21:27:02 +00:00
default_constructor_runme.cs Don't generate constructor wrappers if a base class has a private constructor 2015-07-07 20:15:55 +01:00
director_alternating_runme.cs Any 'using' statements in the protected section of a class were previously ignored with dirprot mode, certainly with Java and C#. Also directors - a call to a method being defined in the base class, not overridden in a subcalss, but again overridden in a class derived from the first subclass was not being dispatched correcly to the most derived class - affecting non-scripting languages. Fix for C# is based on recent fix for D. 2011-02-01 07:02:50 +00:00
director_basic_runme.cs C# directors override/virtual - additional testing 2018-09-25 19:40:35 +01:00
director_classes_runme.cs Fix comment typo 2022-01-24 12:16:26 +13:00
director_classic_runme.cs remove executable bits 2009-05-01 06:21:56 +00:00
director_ignore_runme.cs %ignore director fixes 2006-09-22 23:29:34 +00:00
director_nspace_runme.cs director_nspace fixes for C# for previous commit 2013-01-03 20:49:10 +00:00
director_pass_by_value_runme.cs Fix directorin SWIGTYPE typemaps to make a copy as these are used for pass by value. 2016-05-14 21:32:24 +01:00
director_primitives_runme.cs C# director runtime tests 2006-05-13 23:31:35 +00:00
director_protected_runme.cs Any 'using' statements in the protected section of a class were previously ignored with dirprot mode, certainly with Java and C#. Also directors - a call to a method being defined in the base class, not overridden in a subcalss, but again overridden in a class derived from the first subclass was not being dispatched correcly to the most derived class - affecting non-scripting languages. Fix for C# is based on recent fix for D. 2011-02-01 07:02:50 +00:00
director_smartptr_runme.cs director_smartptr runtime tests enhancement 2017-05-23 21:36:24 +01:00
director_string_runme.cs copy test from java version 2006-11-03 21:54:25 +00:00
director_void_runme.cs Add C# support for void *VOID_INT_PTR member variables 2020-08-13 16:06:48 +01:00
enum_forward_runme.cs Fix C enum forward declarations in some target languages (notably Java) 2012-05-01 18:44:22 +00:00
enum_thorough_runme.cs SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_simple_runme.cs SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_typesafe_runme.cs Add more test case for char const expression in enum 2016-09-14 22:41:02 -07:00
exception_order_runme.cs Fix exception handling when %catches is used in C# 2009-08-15 23:22:20 +00:00
friends_runme.cs Add in missing wrappers for friend functions for some target languages 2011-04-01 23:06:40 +00:00
imports_runme.cs enums added for testing across different SWIG generated modules 2004-04-22 20:32:48 +00:00
inherit_target_language_runme.cs Add test for notderived attribute in csbase/javabase typemap 2009-05-01 06:26:42 +00:00
intermediary_classname_runme.cs reverse merge last commit - 11348 2009-07-02 22:40:49 +00:00
li_attribute_runme.cs Add %attributeval and %attributestring to attribute.swg library 2009-02-13 22:42:45 +00:00
li_boost_shared_ptr_bits_runme.cs Fix shared_ptr of classes with private constructors and destructors. 2015-05-14 19:03:06 +01:00
li_boost_shared_ptr_director_runme.cs Add director shared_ptr typemaps for C# 2017-10-17 21:55:31 +01:00
li_boost_shared_ptr_runme.cs C# gc tests failure fix 2015-07-03 20:59:24 +01:00
li_std_auto_ptr_runme.cs Check Dispose is called in C# auto_ptr test 2019-04-08 19:37:00 +01:00
li_std_combinations_runme.cs Fix SWIG_STD_VECTOR_ENHANCED macro used in C# std::vector to work with commas 2010-06-01 23:10:22 +00:00
li_std_except_runme.cs Add std::bad_cast to std_except.i 2016-09-17 10:26:54 +02:00
li_std_list_runme.cs C# std::list changes to support types that are not assignable 2019-03-25 07:19:49 +00:00
li_std_map_runme.cs Test non-default compare template argument in std::map 2018-10-09 22:43:19 +01:00
li_std_set_runme.cs Allow std::set<> C# typemaps to work for non-nullable types too 2019-07-11 13:09:46 +02:00
li_std_string_runme.cs add in const std::string variable tests 2006-01-29 14:47:38 +00:00
li_std_vector_enum_runme.cs Fix #3475492 - iterating through std::vector wrappers of enumerations. 2012-03-13 07:10:24 +00:00
li_std_vector_runme.cs Add ToArray test for C# std::vector wrapper 2018-01-12 18:26:47 +00:00
li_std_wstring_runme.cs Extend C# wchar_t member test to pass unicode strings 2020-09-12 17:19:15 +01:00
li_swigtype_inout_runme.cs Add new swigtype_inout.i library containing SWIGTYPE *& OUTPUT typemaps. 2014-02-04 06:54:22 +00:00
li_typemaps_runme.cs lib_xxx to li_xxx name change fixes 2004-11-02 22:31:12 +00:00
long_long_runme.cs All tests now use the -namespace commandline option 2004-02-24 21:06:54 +00:00
member_pointer_runme.cs Remove obscure mpointer example and replace with member_pointer.i testcase and runtime examples 2007-08-09 23:47:13 +00:00
multiple_inheritance_abstract_runme.cs Fix Java %interface family of macros 2021-04-27 23:37:18 +01:00
multiple_inheritance_interfaces_runme.cs Port Java interface tests to C# 2016-03-03 08:55:20 +00:00
multiple_inheritance_nspace_runme.cs Fix Java %interface family of macros 2021-04-27 23:37:18 +01:00
multiple_inheritance_shared_ptr_runme.cs Fix Java %interface family of macros 2021-04-27 23:37:18 +01:00
nested_class_runme.cs fixed %template declared within class, next to template declaration 2013-12-16 11:43:28 +04:00
nested_directors_runme.cs fixes for director class naming when nested classes are used 2014-03-13 18:58:29 +04:00
nested_in_template_runme.cs Avoid comparing doubles in nested_in_template.i unit test 2018-12-04 20:46:35 +01:00
nested_inheritance_interface_runme.cs nested_inheritance_interface testcase enhancement 2019-07-09 19:36:46 +01:00
nested_structs_runme.cs fixed %template declared within class, next to template declaration 2013-12-16 11:43:28 +04:00
nested_workaround_runme.cs fixed %template declared within class, next to template declaration 2013-12-16 11:43:28 +04:00
nspace_extend_runme.cs Test %extend and nspace feature 2010-03-08 23:02:53 +00:00
nspace_runme.cs [D] nspace support. 2011-03-13 00:32:26 +00:00
operator_overload_runme.cs test virtual operators 2006-09-25 20:15:24 +00:00
overload_complicated_runme.cs remove executable bits 2009-05-01 06:21:56 +00:00
overload_template_runme.cs Rename max() to maximum() as max() is a built-in function in PHP. 2009-08-14 01:33:23 +00:00
pointer_reference_runme.cs Fix typecheck typemaps for SWIGTYPE *const& 2011-01-30 00:42:27 +00:00
preproc_constants_c_runme.cs Parse common cases of `<` and `>` comparisons 2022-01-25 14:09:41 +13:00
preproc_constants_runme.cs Parse common cases of `<` and `>` comparisons 2022-01-25 14:09:41 +13:00
proxycode_runme.cs Add %proxycode directive for adding code into proxy classes for C#, D and Java 2017-01-13 20:43:50 +00:00
rename_pcre_encoder_runme.cs Add support for case conversion characters in regex substitutions. 2013-10-15 07:17:56 +01:00
rename_pcre_enum_runme.cs Add support for "[not]regexmatch" and "regextarget" to %rename. 2010-07-22 17:02:10 +00:00
rename_simple_runme.cs R - SF #3168676 Fix %rename not working for member variables and methods. Add new simple rename testcase with runtime tests for C# and R 2011-02-04 23:42:06 +00:00
sizet_runme.cs size_t tests 2006-10-17 21:41:39 +00:00
sneaky1_runme.cs fix for perl keyword 2006-03-07 23:05:11 +00:00
special_variable_attributes_runme.cs Cosmetic comment fix in testcase 2015-09-30 07:06:40 +01:00
special_variable_macros_runme.cs Document patch #33 from previous commit and complete run time tests 2013-04-18 23:20:48 +01:00
template_nested_flat_runme.cs Add and improve Ruby test cases in the context of nesting and namespaces 2020-12-16 22:30:46 +01:00
template_nested_runme.cs fixed %template declared within class, next to template declaration 2013-12-16 11:43:28 +04:00
threads_runme.cs test strings in a multithreaded environment 2005-06-01 20:42:50 +00:00
throw_exception_runme.cs All tests now use the -namespace commandline option 2004-02-24 21:06:54 +00:00
typemap_namespace_runme.cs runtime test for C# added 2005-12-29 23:59:03 +00:00
typemap_out_optimal_runme.cs remove executable bits 2009-05-01 06:21:56 +00:00
varargs_runme.cs All tests now use the -namespace commandline option 2004-02-24 21:06:54 +00:00
virtual_poly_runme.cs Mono 1.1 warning fixes 2005-03-06 19:15:19 +00:00

README

SWIG testsuite README file
--------------------------

This testsuite is here to ensure SWIG can handle a wide range of c/c++
syntax. The testsuite comprises many testcases in this directory. Each
test case is tested under each of the language modules thereby
thoroughly testing all of SWIG. It ensures that each of the language
modules are at a similar standard.

Those modules that support shadow classes run the tests producing
shadow classes to test the full language module functionality.

Some test cases need a runtime test. These need implementing in each
of the language modules. The language modules look for a file in the
language specific test-suite directory which has _runme appended after
the testcase name. If one is found it will be run as part of the test.

Some language modules add to this common set of test cases for
language specific tests. These can be found in the appropriate
language test-suite directory. There is also a README in each of the
language module directories.

For each testcase a message showing which testcase is being tested is
displayed. Nothing else is printed unless the test fails.


Some Developer Guidelines
-------------------------

Note that the whole test suite need not be run each time a testcase is
modified. An individual testcase may be run by going to the language
module test-suite directory and using make testcasename.xxx where xxx
is the type of test (eg cpptest). See common.mk. make -s doesn't print
any junk on the screen and is useful for emulating the way make check
works from the SWIG root directory.

If there are runtime tests needed, don't print anything unless there
is an error in which case stderr is suggested.

Please set the name of the module to the same name as the testcase,
otherwise modules will not be found.