From 2c0033aac56dba919a97db8d2a2702b95c9baf1e Mon Sep 17 00:00:00 2001 From: Pieter De Rycke Date: Wed, 26 Feb 2014 07:04:03 +0100 Subject: [PATCH] Added support for Xamarin.Android --- .gitignore | 3 +- Jace.Android.Tests/Jace.Android.Tests.csproj | 103 +++++++++ Jace.Android.Tests/MainActivity.cs | 23 ++ .../Properties/AndroidManifest.xml | 5 + Jace.Android.Tests/Properties/AssemblyInfo.cs | 23 ++ .../Resources/Resource.designer.cs | 207 ++++++++++++++++++ .../Resources/drawable/Icon.png | Bin 0 -> 2574 bytes Jace.Android.sln | 59 +++++ Jace.Android/Jace.Android.csproj | 183 ++++++++++++++++ Jace.Android/Resources/Resource.designer.cs | 57 +++++ Jace.Android/Resources/values/Strings.xml | 4 + Jace.Tests/AssertExtensions.cs | 2 + Jace.Tests/AstBuilderTests.cs | 4 + Jace.Tests/BasicInterpreterTests.cs | 4 + Jace.Tests/CalculationEngineTests.cs | 4 + Jace.Tests/ConstantRegistryTests.cs | 4 + Jace.Tests/FuncAdapterTests.cs | 4 + Jace.Tests/FunctionRegistryTests.cs | 4 + Jace.Tests/MemoryCacheTests.cs | 4 + Jace.Tests/TokenReaderTests.cs | 4 + Jace.nuspec | 7 +- buildNuGetPackage.cmd | 4 + 22 files changed, 708 insertions(+), 4 deletions(-) create mode 100644 Jace.Android.Tests/Jace.Android.Tests.csproj create mode 100644 Jace.Android.Tests/MainActivity.cs create mode 100644 Jace.Android.Tests/Properties/AndroidManifest.xml create mode 100644 Jace.Android.Tests/Properties/AssemblyInfo.cs create mode 100644 Jace.Android.Tests/Resources/Resource.designer.cs create mode 100644 Jace.Android.Tests/Resources/drawable/Icon.png create mode 100644 Jace.Android.sln create mode 100644 Jace.Android/Jace.Android.csproj create mode 100644 Jace.Android/Resources/Resource.designer.cs create mode 100644 Jace.Android/Resources/values/Strings.xml diff --git a/.gitignore b/.gitignore index 669c08d..92b619f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ TestResults/ *.nupkg packages/* !packages/repositories.config -*.zip \ No newline at end of file +*.zip +*.userprefs \ No newline at end of file diff --git a/Jace.Android.Tests/Jace.Android.Tests.csproj b/Jace.Android.Tests/Jace.Android.Tests.csproj new file mode 100644 index 0000000..21f0e68 --- /dev/null +++ b/Jace.Android.Tests/Jace.Android.Tests.csproj @@ -0,0 +1,103 @@ + + + + Debug + AnyCPU + 12.0.0 + 2.0 + {1F3440D3-2C9E-48E1-A90E-F0AD2EC86421} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Jace.Android.Tests + Resources + Assets + True + True + Resources\Resource.designer.cs + Resource + Jace.Android.Tests + v4.0.3 + Properties\AndroidManifest.xml + + + true + full + false + bin\Debug + DEBUG;__MOBILE__;__ANDROID__; + prompt + 4 + None + false + True + + + full + true + bin\Release + __MOBILE__;__ANDROID__; + prompt + 4 + false + false + + + + + + + + + + + + + + AssertExtensions.cs + + + CalculationEngineTests.cs + + + AstBuilderTests.cs + + + BasicInterpreterTests.cs + + + ConstantRegistryTests.cs + + + FuncAdapterTests.cs + + + FunctionRegistryTests.cs + + + MemoryCacheTests.cs + + + TokenReaderTests.cs + + + Mocks\MockFunctionRegistry.cs + + + + + + + + + + + + + + + + {C19E885A-0232-43BF-8EC5-06C245319525} + Jace.Android + + + \ No newline at end of file diff --git a/Jace.Android.Tests/MainActivity.cs b/Jace.Android.Tests/MainActivity.cs new file mode 100644 index 0000000..408edb3 --- /dev/null +++ b/Jace.Android.Tests/MainActivity.cs @@ -0,0 +1,23 @@ +using System.Reflection; +using Android.App; +using Android.OS; +using Xamarin.Android.NUnitLite; + +namespace Jace.Android.Tests +{ + [Activity (Label = "Jace.Android.Tests", MainLauncher = true)] + public class MainActivity : TestSuiteActivity + { + protected override void OnCreate (Bundle bundle) + { + // tests can be inside the main assembly + AddTest (Assembly.GetExecutingAssembly ()); + // or in any reference assemblies + // AddTest (typeof (Your.Library.TestClass).Assembly); + + // Once you called base.OnCreate(), you cannot add more assemblies. + base.OnCreate (bundle); + } + } +} + diff --git a/Jace.Android.Tests/Properties/AndroidManifest.xml b/Jace.Android.Tests/Properties/AndroidManifest.xml new file mode 100644 index 0000000..a29790e --- /dev/null +++ b/Jace.Android.Tests/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Jace.Android.Tests/Properties/AssemblyInfo.cs b/Jace.Android.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a4366fb --- /dev/null +++ b/Jace.Android.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,23 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using Android.App; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. +[assembly: AssemblyTitle ("Jace.Android.Tests")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("")] +[assembly: AssemblyCopyright ("Pieter")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. +[assembly: AssemblyVersion ("1.0.0")] +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/Jace.Android.Tests/Resources/Resource.designer.cs b/Jace.Android.Tests/Resources/Resource.designer.cs new file mode 100644 index 0000000..ba084bf --- /dev/null +++ b/Jace.Android.Tests/Resources/Resource.designer.cs @@ -0,0 +1,207 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34011 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("Jace.Android.Tests.Resource", IsApplication=true)] + +namespace Jace.Android.Tests +{ + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public static void UpdateIdValues() + { + global::Xamarin.Android.NUnitLite.Resource.Id.OptionHostName = global::Jace.Android.Tests.Resource.Id.OptionHostName; + global::Xamarin.Android.NUnitLite.Resource.Id.OptionPort = global::Jace.Android.Tests.Resource.Id.OptionPort; + global::Xamarin.Android.NUnitLite.Resource.Id.OptionRemoteServer = global::Jace.Android.Tests.Resource.Id.OptionRemoteServer; + global::Xamarin.Android.NUnitLite.Resource.Id.OptionsButton = global::Jace.Android.Tests.Resource.Id.OptionsButton; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultFullName = global::Jace.Android.Tests.Resource.Id.ResultFullName; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultMessage = global::Jace.Android.Tests.Resource.Id.ResultMessage; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultResultState = global::Jace.Android.Tests.Resource.Id.ResultResultState; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultStackTrace = global::Jace.Android.Tests.Resource.Id.ResultStackTrace; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsFailed = global::Jace.Android.Tests.Resource.Id.ResultsFailed; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsId = global::Jace.Android.Tests.Resource.Id.ResultsId; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsIgnored = global::Jace.Android.Tests.Resource.Id.ResultsIgnored; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsInconclusive = global::Jace.Android.Tests.Resource.Id.ResultsInconclusive; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsMessage = global::Jace.Android.Tests.Resource.Id.ResultsMessage; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsPassed = global::Jace.Android.Tests.Resource.Id.ResultsPassed; + global::Xamarin.Android.NUnitLite.Resource.Id.ResultsResult = global::Jace.Android.Tests.Resource.Id.ResultsResult; + global::Xamarin.Android.NUnitLite.Resource.Id.RunTestsButton = global::Jace.Android.Tests.Resource.Id.RunTestsButton; + global::Xamarin.Android.NUnitLite.Resource.Id.TestSuiteListView = global::Jace.Android.Tests.Resource.Id.TestSuiteListView; + global::Xamarin.Android.NUnitLite.Resource.Layout.options = global::Jace.Android.Tests.Resource.Layout.options; + global::Xamarin.Android.NUnitLite.Resource.Layout.results = global::Jace.Android.Tests.Resource.Layout.results; + global::Xamarin.Android.NUnitLite.Resource.Layout.test_result = global::Jace.Android.Tests.Resource.Layout.test_result; + global::Xamarin.Android.NUnitLite.Resource.Layout.test_suite = global::Jace.Android.Tests.Resource.Layout.test_suite; + global::Jace.Android.Resource.String.library_name = global::Jace.Android.Tests.Resource.String.library_name; + } + + public partial class Attribute + { + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class Drawable + { + + // aapt resource value: 0x7f020000 + public const int Icon = 2130837504; + + // aapt resource value: 0x7f020001 + public const int monoandroidsplash = 2130837505; + + static Drawable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Drawable() + { + } + } + + public partial class Id + { + + // aapt resource value: 0x7f060001 + public const int OptionHostName = 2131099649; + + // aapt resource value: 0x7f060002 + public const int OptionPort = 2131099650; + + // aapt resource value: 0x7f060000 + public const int OptionRemoteServer = 2131099648; + + // aapt resource value: 0x7f06000f + public const int OptionsButton = 2131099663; + + // aapt resource value: 0x7f06000a + public const int ResultFullName = 2131099658; + + // aapt resource value: 0x7f06000c + public const int ResultMessage = 2131099660; + + // aapt resource value: 0x7f06000b + public const int ResultResultState = 2131099659; + + // aapt resource value: 0x7f06000d + public const int ResultStackTrace = 2131099661; + + // aapt resource value: 0x7f060006 + public const int ResultsFailed = 2131099654; + + // aapt resource value: 0x7f060003 + public const int ResultsId = 2131099651; + + // aapt resource value: 0x7f060007 + public const int ResultsIgnored = 2131099655; + + // aapt resource value: 0x7f060008 + public const int ResultsInconclusive = 2131099656; + + // aapt resource value: 0x7f060009 + public const int ResultsMessage = 2131099657; + + // aapt resource value: 0x7f060005 + public const int ResultsPassed = 2131099653; + + // aapt resource value: 0x7f060004 + public const int ResultsResult = 2131099652; + + // aapt resource value: 0x7f06000e + public const int RunTestsButton = 2131099662; + + // aapt resource value: 0x7f060010 + public const int TestSuiteListView = 2131099664; + + static Id() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Id() + { + } + } + + public partial class Layout + { + + // aapt resource value: 0x7f030000 + public const int options = 2130903040; + + // aapt resource value: 0x7f030001 + public const int results = 2130903041; + + // aapt resource value: 0x7f030002 + public const int test_result = 2130903042; + + // aapt resource value: 0x7f030003 + public const int test_suite = 2130903043; + + static Layout() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Layout() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7f040000 + public const int library_name = 2130968576; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + + public partial class Style + { + + // aapt resource value: 0x7f050000 + public const int Mono_Android_Theme_Splash = 2131034112; + + static Style() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Style() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/Jace.Android.Tests/Resources/drawable/Icon.png b/Jace.Android.Tests/Resources/drawable/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a07c69fa5a0f4da5d5efe96eea12a543154dbab6 GIT binary patch literal 2574 zcmV+p3i0)cP)Q`Og{P|8RRXpj5bgrSmEzSMfBn+{{vpNxw?;5UX;iv9sYxy_`IQHs$i<61a_iv^L>h8s-`D(`e@|IgS*Fj zNGM876Gf;3D8*1UX9a%v>yJKD*QkCwW2AirU(L{qNA)JghmGItc;(H<$!ABY&gBy1vJIEUj-b8%el*o|VkG)LqNx#TG>Jvj^jIte!!+RY z)T4j$7+PoF1AkRBf}R#^T=-q|PaK1$c<4UH)Hpq3$4WA|xtr!ZQLC=*vNE>O6E9kp+5X0eKB$6>C(lPwI@3#oY zhS_%x7e|j!$yG?ECXmh~EH~^OeuK}+sWoJse3Z3?ha3n`MM9KvA?uqpEnBg4Q46)7 zM$p%a$@l;+O}vfvx%XjH`}a{(-HHth9!JaUwV0*VqGR48^gWNYN<&~7x)y$e!X>e` zZ5!6KZoxbKuV9XUDI%#M1~IVh?pNSdeb~6@$y`v|yk=XK+fHxnDqnUK4&=QRNyIVf zYbDM*cI>~qIy*a7=z7uqkw@agd(<=y-Q7L!ty_23SGdXmahO<;N=wB+j;lNm%=OHC zy zU|>La6h%92y4IPufI$9>Xu!@y`TaNgtg&41@PwMwBdmSm7)xAWDLoqjZ==P2#*k7! z3o1)cVSI3KP_!?d8G^Lg0FtLXC~JYdxi|c%h~lXEixY=%VSFF@!*3&&9>(Rb|iK54Cx5;s~PY5iaV1het%w`dgQFBAJ;aFK zImQC}(|QaCFYUm1JVfzSc)ebv=)ObI)0jwJb``}Zj9J0n0Xgn*Zc(rFM9$xh_makZbm-at_v5^SW zM1y1SW@%+FuIy*WR)i3A2N_q;(YO`O!A|Ts^%z}9ZepCj3ytlw#x%N_fNrKKtPh`< z|1{UqF`4LxHaCQ79+E=uUXCOZ35jAMRz%R%0(P!0FMv=sk>Nr8%+OzY^c-M9@+fz=G`qa@v4sF5u-2289-#$**LWnyNNDwDf1( zkUiMnw|y$tn>pQP=Vn!#|17L^5AGrjtBkN$D@v)Z7LXc5EFhLB4<;7Wehh)CMqX|W zqsiZaO^benJ_hwa&V0ub$-_HUk**?g6fm9|!@kguU6*zhK)$qn-<3*kFrYPIaqR=V zUaUvk>@F_89b@tHs8R!*QKY;INJ<2_U+K6Ca3e9Gsl2{qY0%a7J?uICWgHuLfj+MB z=GkAN1&ifT#2u}B+2S#~$5jA(Qn^;H%CCmIae4AE-Dsng|Hl*Ov!z72k3ZnJs{pp| z+pW`DDueC#mEWOf=ucJ!dTL}hzOeiS-i?m2E;`EKz4<&Lu~NnW?peqVU^@<+T3KKu z{yrI%Qy-Z%HEvLUz}n^~m?7x`xuCtNR#L2En!T>dQtIKdS#V-Hzt3RtwTeYtmQ&dR z6qXZvac*oc@BUYEH%@Ylv_1&tSjkbzzU6*h1(3^C`;1z;g_SmOtclS?KWk2VYE zM*oS<=C483XckW?GN|1jfh3Ro(h + + + Debug + AnyCPU + 12.0.0 + 2.0 + {C19E885A-0232-43BF-8EC5-06C245319525} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Jace.Android + Assets + True + Resources + Resources\Resource.designer.cs + Resource + Jace.Android + v4.0.3 + 0.8.5 + false + + + true + full + false + bin\Debug + DEBUG;__MOBILE__;__ANDROID__; + prompt + 4 + None + false + + + full + true + bin\Release + __MOBILE__;__ANDROID__; + prompt + 4 + false + false + + + + + + + + + + + AstBuilder.cs + + + CalculationEngine.cs + + + DataType.cs + + + FormulaContext.cs + + + Optimizer.cs + + + ParseException.cs + + + VariableNotDefinedException.cs + + + Execution\ConstantInfo.cs + + + Execution\ConstantRegistry.cs + + + Execution\DynamicCompiler.cs + + + Execution\ExecutionMode.cs + + + Execution\FormulaBuilder.cs + + + Execution\FunctionInfo.cs + + + Execution\FunctionRegistry.cs + + + Execution\IConstantRegistry.cs + + + Execution\IExecutor.cs + + + Execution\IFunctionRegistry.cs + + + Execution\Interpreter.cs + + + Execution\ParameterInfo.cs + + + Operations\Addition.cs + + + Operations\Constant.cs + + + Operations\Division.cs + + + Operations\Exponentiation.cs + + + Operations\Function.cs + + + Operations\Modulo.cs + + + Operations\Multiplication.cs + + + Operations\Operation.cs + + + Operations\Subtraction.cs + + + Operations\UnaryMinus.cs + + + Operations\Variable.cs + + + Tokenizer\Token.cs + + + Tokenizer\TokenizerException.cs + + + Tokenizer\TokenReader.cs + + + Tokenizer\TokenType.cs + + + Util\EngineUtil.cs + + + Util\FuncAdapter.cs + + + Util\MathUtil.cs + + + Util\MemoryCache.cs + + + Util\TypeExtensions.cs + + + Properties\AssemblyInfo.cs + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Jace.Android/Resources/Resource.designer.cs b/Jace.Android/Resources/Resource.designer.cs new file mode 100644 index 0000000..8f01fc2 --- /dev/null +++ b/Jace.Android/Resources/Resource.designer.cs @@ -0,0 +1,57 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34011 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("Jace.Android.Resource", IsApplication=false)] + +namespace Jace.Android +{ + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public partial class Attribute + { + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7f020000 + public static int library_name = 2130837504; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/Jace.Android/Resources/values/Strings.xml b/Jace.Android/Resources/values/Strings.xml new file mode 100644 index 0000000..773857e --- /dev/null +++ b/Jace.Android/Resources/values/Strings.xml @@ -0,0 +1,4 @@ + + + Jace.Android + diff --git a/Jace.Tests/AssertExtensions.cs b/Jace.Tests/AssertExtensions.cs index 781fb1f..5d48aac 100644 --- a/Jace.Tests/AssertExtensions.cs +++ b/Jace.Tests/AssertExtensions.cs @@ -5,6 +5,8 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/AstBuilderTests.cs b/Jace.Tests/AstBuilderTests.cs index 6f1fc60..4adc316 100644 --- a/Jace.Tests/AstBuilderTests.cs +++ b/Jace.Tests/AstBuilderTests.cs @@ -9,6 +9,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/BasicInterpreterTests.cs b/Jace.Tests/BasicInterpreterTests.cs index 47c73dd..89999c0 100644 --- a/Jace.Tests/BasicInterpreterTests.cs +++ b/Jace.Tests/BasicInterpreterTests.cs @@ -8,6 +8,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/CalculationEngineTests.cs b/Jace.Tests/CalculationEngineTests.cs index f8b6bd9..bc07f2f 100644 --- a/Jace.Tests/CalculationEngineTests.cs +++ b/Jace.Tests/CalculationEngineTests.cs @@ -8,6 +8,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/ConstantRegistryTests.cs b/Jace.Tests/ConstantRegistryTests.cs index 9e5ee4f..005ffea 100644 --- a/Jace.Tests/ConstantRegistryTests.cs +++ b/Jace.Tests/ConstantRegistryTests.cs @@ -6,6 +6,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/FuncAdapterTests.cs b/Jace.Tests/FuncAdapterTests.cs index cc6622a..6b707bc 100644 --- a/Jace.Tests/FuncAdapterTests.cs +++ b/Jace.Tests/FuncAdapterTests.cs @@ -8,6 +8,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/FunctionRegistryTests.cs b/Jace.Tests/FunctionRegistryTests.cs index 92ed83e..71f6e8a 100644 --- a/Jace.Tests/FunctionRegistryTests.cs +++ b/Jace.Tests/FunctionRegistryTests.cs @@ -6,6 +6,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/MemoryCacheTests.cs b/Jace.Tests/MemoryCacheTests.cs index 954a8ff..04847f6 100644 --- a/Jace.Tests/MemoryCacheTests.cs +++ b/Jace.Tests/MemoryCacheTests.cs @@ -6,6 +6,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.Tests/TokenReaderTests.cs b/Jace.Tests/TokenReaderTests.cs index 4415ed1..880cd4f 100644 --- a/Jace.Tests/TokenReaderTests.cs +++ b/Jace.Tests/TokenReaderTests.cs @@ -5,6 +5,10 @@ #if NETFX_CORE using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +#elif __ANDROID__ +using NUnit.Framework; +using TestClass = NUnit.Framework.TestFixtureAttribute; +using TestMethod = NUnit.Framework.TestAttribute; #else using Microsoft.VisualStudio.TestTools.UnitTesting; #endif diff --git a/Jace.nuspec b/Jace.nuspec index 7355cbc..09e8a33 100644 --- a/Jace.nuspec +++ b/Jace.nuspec @@ -9,12 +9,13 @@ https://github.com/pieterderycke/Jace false - Jace.NET is a high performance calculation engine for the .NET platform that can dynamically interprete and execute strings containing mathematical functions. These functions can rely on variables. If variables are used, values can be provided for these variables at execution time of the mathematical function. + Jace.NET is a high performance calculation engine for the .NET platform that can dynamically parse, interprete and execute strings containing mathematical functions. Jace.NET is available for the various .NET flavors: .NET, WinRT, Windows Phone 7, and Windows Phone 8 and Xamarin.Android. - Jace.NET is a high performance calculation engine for the .NET platform that can dynamically interprete and execute strings containing mathematical functions. These functions can rely on variables. If variables are used, values can be provided for these variables at execution time of the mathematical function. - + Jace.NET is a high performance calculation engine for the .NET platform that can dynamically parse, interprete and execute strings containing mathematical functions. Jace.NET is available for the various .NET flavors: .NET, WinRT, Windows Phone 7, and Windows Phone 8 and Xamarin.Android. + Jace can execute functions in two modes: in interpreted mode and in a dynamic compilation mode. If dynamic compilation mode is used, Jace will create a dynamic method at runtime and will generate the necessary MSIL opcodes for native execution of the function. If a function is re-executed with other variables, Jace will take the dynamically generated method from its cache. It is recommended to use Jace in dynamic compilation mode. + xamarin xamarin.android math interprete parse windows phone mathematical formula \ No newline at end of file diff --git a/buildNuGetPackage.cmd b/buildNuGetPackage.cmd index 24f28e8..01b1be3 100644 --- a/buildNuGetPackage.cmd +++ b/buildNuGetPackage.cmd @@ -16,6 +16,10 @@ msbuild /p:Configuration=Release Jace.WP7\Jace.WP7.csproj MKDIR nuget\lib\wp7 COPY Jace.WP7\bin\Release\*.dll nuget\lib\wp7\ +REM msbuild /p:Configuration=Release Jace.Android\Jace.Android.csproj +MKDIR nuget\lib\monoandroid +COPY Jace.Android\bin\Release\*.dll nuget\lib\monoandroid\ + COPY Jace.nuspec nuget\ Tools\NuGet\nuget.exe pack nuget\Jace.nuspec -Version %version%