diff --git a/PolylineEncoder.Net.sln b/PolylineEncoder.Net.sln index e6c7f53..25dc40c 100644 --- a/PolylineEncoder.Net.sln +++ b/PolylineEncoder.Net.sln @@ -1,37 +1,45 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.16 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{85E635ED-6B86-4A6E-A91C-D8FB551680AE}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{617983B4-27C5-43E8-AED8-E7C101A1A86A}" ProjectSection(SolutionItems) = preProject - appveyor.yml = appveyor.yml - global.json = global.json LICENSE = LICENSE README.md = README.md EndProjectSection EndProject -Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "PolylineEncoder.Net", "src\PolylineEncoder.Net\PolylineEncoder.Net.xproj", "{7D1B865F-C26D-4C54-B6D7-DC3E2A49749F}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{694420B5-3D4D-4CBA-A418-1D8BD96120BC}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PolylineEncoder.Net", "src\PolylineEncoder.Net\PolylineEncoder.Net.csproj", "{C1FB0993-5199-4BFF-8717-8A4DEB098C29}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PolylineEncoder.Net.Tests", "test\PolylineEncoder.Net.Tests\PolylineEncoder.Net.Tests.csproj", "{09EBD7BE-FC2F-4283-9133-4E4F4B68B546}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7D1B865F-C26D-4C54-B6D7-DC3E2A49749F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7D1B865F-C26D-4C54-B6D7-DC3E2A49749F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7D1B865F-C26D-4C54-B6D7-DC3E2A49749F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7D1B865F-C26D-4C54-B6D7-DC3E2A49749F}.Release|Any CPU.Build.0 = Release|Any CPU + {C1FB0993-5199-4BFF-8717-8A4DEB098C29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C1FB0993-5199-4BFF-8717-8A4DEB098C29}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C1FB0993-5199-4BFF-8717-8A4DEB098C29}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C1FB0993-5199-4BFF-8717-8A4DEB098C29}.Release|Any CPU.Build.0 = Release|Any CPU + {09EBD7BE-FC2F-4283-9133-4E4F4B68B546}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {09EBD7BE-FC2F-4283-9133-4E4F4B68B546}.Debug|Any CPU.Build.0 = Debug|Any CPU + {09EBD7BE-FC2F-4283-9133-4E4F4B68B546}.Release|Any CPU.ActiveCfg = Release|Any CPU + {09EBD7BE-FC2F-4283-9133-4E4F4B68B546}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {7D1B865F-C26D-4C54-B6D7-DC3E2A49749F} = {85E635ED-6B86-4A6E-A91C-D8FB551680AE} + {C1FB0993-5199-4BFF-8717-8A4DEB098C29} = {85E635ED-6B86-4A6E-A91C-D8FB551680AE} + {09EBD7BE-FC2F-4283-9133-4E4F4B68B546} = {694420B5-3D4D-4CBA-A418-1D8BD96120BC} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3B2850B1-2113-4586-A7F6-5DB7FBA20C3A} EndGlobalSection EndGlobal diff --git a/PolylineEncoder.Net.v3.ncrunchsolution b/PolylineEncoder.Net.v3.ncrunchsolution new file mode 100644 index 0000000..f774ab9 --- /dev/null +++ b/PolylineEncoder.Net.v3.ncrunchsolution @@ -0,0 +1,6 @@ + + + False + True + + \ No newline at end of file diff --git a/global.json b/global.json deleted file mode 100644 index 68eb926..0000000 --- a/global.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "projects": [ "src", "test" ], - "sdk": { - "version": "1.0.0-rc1-final" - } -} \ No newline at end of file diff --git a/src/PolylineEncoder.Net/PolylineEncoder.Net.csproj b/src/PolylineEncoder.Net/PolylineEncoder.Net.csproj new file mode 100644 index 0000000..3970671 --- /dev/null +++ b/src/PolylineEncoder.Net/PolylineEncoder.Net.csproj @@ -0,0 +1,12 @@ + + + + netstandard1.1 + true + + + + + + + diff --git a/src/PolylineEncoder.Net/PolylineEncoder.Net.v3.ncrunchproject b/src/PolylineEncoder.Net/PolylineEncoder.Net.v3.ncrunchproject new file mode 100644 index 0000000..6800b4a --- /dev/null +++ b/src/PolylineEncoder.Net/PolylineEncoder.Net.v3.ncrunchproject @@ -0,0 +1,5 @@ + + + True + + \ No newline at end of file diff --git a/src/PolylineEncoder.Net/PolylineEncoder.Net.xproj b/src/PolylineEncoder.Net/PolylineEncoder.Net.xproj deleted file mode 100644 index 8aa7154..0000000 --- a/src/PolylineEncoder.Net/PolylineEncoder.Net.xproj +++ /dev/null @@ -1,21 +0,0 @@ - - - - 14.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - - - - 7d1b865f-c26d-4c54-b6d7-dc3e2a49749f - PolylineEncoder.Net - ..\..\artifacts\obj\$(MSBuildProjectName) - ..\..\artifacts\bin\$(MSBuildProjectName)\ - - - 2.0 - - - True - - - \ No newline at end of file diff --git a/src/PolylineEncoder.Net/project.json b/src/PolylineEncoder.Net/project.json deleted file mode 100644 index 887c194..0000000 --- a/src/PolylineEncoder.Net/project.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "version": "1.0.1-*", - "description": "PolylineEncoder.Net", - "authors": [ "alexframe" ], - "tags": [ "google maps", "polyline" ], - "projectUrl": "https://github.com/alexframe/PolylineEncoder.Net/", - "licenseUrl": "https://github.com/alexframe/PolylineEncoder.Net/blob/master/LICENSE", - - "frameworks": { - "net451": { }, - "dotnet5.4": { - "dependencies": { - "Microsoft.CSharp": "4.0.1-beta-23516", - "System.Collections": "4.0.11-beta-23516", - "System.Linq": "4.0.1-beta-23516", - "System.Runtime": "4.0.21-beta-23516", - "System.Threading": "4.0.11-beta-23516" - } - } - } -} diff --git a/test/PolylineEncder.Tests/PolylineEncder.Tests.csproj b/test/PolylineEncder.Tests/PolylineEncder.Tests.csproj new file mode 100644 index 0000000..9bd0c58 --- /dev/null +++ b/test/PolylineEncder.Tests/PolylineEncder.Tests.csproj @@ -0,0 +1,67 @@ + + + + + Debug + AnyCPU + {EB72B3BF-E2EC-45B1-BD69-848060E5AD66} + Library + Properties + PolylineEncder.Tests + PolylineEncder.Tests + v4.6.1 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\packages\MSTest.TestFramework.1.1.18\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\..\packages\MSTest.TestFramework.1.1.18\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + \ No newline at end of file diff --git a/test/PolylineEncder.Tests/Properties/AssemblyInfo.cs b/test/PolylineEncder.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c534f57 --- /dev/null +++ b/test/PolylineEncder.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("PolylineEncder.Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("PolylineEncder.Tests")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("eb72b3bf-e2ec-45b1-bd69-848060e5ad66")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test/PolylineEncder.Tests/UnitTest1.cs b/test/PolylineEncder.Tests/UnitTest1.cs new file mode 100644 index 0000000..70cbeec --- /dev/null +++ b/test/PolylineEncder.Tests/UnitTest1.cs @@ -0,0 +1,14 @@ +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace PolylineEncder.Tests +{ + [TestClass] + public class UnitTest1 + { + [TestMethod] + public void TestMethod1() + { + } + } +} diff --git a/test/PolylineEncder.Tests/packages.config b/test/PolylineEncder.Tests/packages.config new file mode 100644 index 0000000..d8c1b90 --- /dev/null +++ b/test/PolylineEncder.Tests/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/test/PolylineEncoder.Net.Tests/EncodingTests.cs b/test/PolylineEncoder.Net.Tests/EncodingTests.cs new file mode 100644 index 0000000..8fa39fc --- /dev/null +++ b/test/PolylineEncoder.Net.Tests/EncodingTests.cs @@ -0,0 +1,43 @@ +using NUnit.Framework; +using PolylineEncoder.Net.Models; +using PolylineEncoder.Net.Utility; +using System.Collections.Generic; +using System.Linq; + +namespace PolylineEncoder.Tests +{ + public class DecodeTests + { + [Test] + public void DecodeTest() + { + // arrange + var s = "sezbGuogHuAa@TmFgAeCrBsH|FaG~CHE{IrAPtFkKgF}h@rC{AMuG~FoBpFdNvDoGhDKpBfB~CnKlHmT`IDdB{Yk@}MyCkNjKrDM`DhElFxCvNt@sS|BhB~AeKhBaBqAqDqAV}AoF}Akd@}ByJpAc@JkLfAzPzAUKmf@rBgRn@KP|G|AxCvAuAMqBtAECqCnFsGaHcl@hC{AfAyNhF_IfDsKnGcGtRqC|MbG|AcCxFtHxAyCo@aIdAaA?aFkFuT`JaC~C|Eh@mLzMpCtCaC`@|EzC}HxGbMt@xH_AvAzFs@"; + var utility = new PolylineUtility(); + + // act + IEnumerable res = utility.Decode(s); + + // assert + Assert.IsTrue(res != null); + Assert.IsTrue(res.ToList().Count > 0); + } + + [Test] + public void EncodeTest() + { + // arrange + var expected = "_c`|@_c`|@"; + var utility = new PolylineUtility(); + var p = new GeoCoordinate(10.0, 10.0); + + // act + var encoded = utility.Encode(p); + + // assert + Assert.IsTrue(encoded != null); + Assert.IsTrue(encoded == expected); + } + + } +} diff --git a/test/PolylineEncoder.Net.Tests/PolylineEncoder.Net.Tests.csproj b/test/PolylineEncoder.Net.Tests/PolylineEncoder.Net.Tests.csproj new file mode 100644 index 0000000..64d577e --- /dev/null +++ b/test/PolylineEncoder.Net.Tests/PolylineEncoder.Net.Tests.csproj @@ -0,0 +1,59 @@ + + + + + Debug + AnyCPU + {09EBD7BE-FC2F-4283-9133-4E4F4B68B546} + Library + Properties + PolylineEncoder.Net.Tests + PolylineEncoder.Net.Tests + v4.6.1 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\packages\NUnit.3.8.1\lib\net45\nunit.framework.dll + + + + + + + + + + + + + + + + + + + + {c1fb0993-5199-4bff-8717-8a4deb098c29} + PolylineEncoder.Net + + + + \ No newline at end of file diff --git a/src/PolylineEncoder.Net/Properties/AssemblyInfo.cs b/test/PolylineEncoder.Net.Tests/Properties/AssemblyInfo.cs similarity index 53% rename from src/PolylineEncoder.Net/Properties/AssemblyInfo.cs rename to test/PolylineEncoder.Net.Tests/Properties/AssemblyInfo.cs index 1f370a5..d5c16fa 100644 --- a/src/PolylineEncoder.Net/Properties/AssemblyInfo.cs +++ b/test/PolylineEncoder.Net.Tests/Properties/AssemblyInfo.cs @@ -5,12 +5,12 @@ // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("PolylineEncoder.Net")] +[assembly: AssemblyTitle("PolylineEncoder.Net.Tests")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Fairfax Media")] -[assembly: AssemblyProduct("PolylineEncoder.Net")] -[assembly: AssemblyCopyright("Copyright © Fairfax Media 2016")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("PolylineEncoder.Net.Tests")] +[assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -20,4 +20,17 @@ [assembly: ComVisible(false)] // The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("7d1b865f-c26d-4c54-b6d7-dc3e2a49749f")] +[assembly: Guid("09ebd7be-fc2f-4283-9133-4e4f4b68b546")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test/PolylineEncoder.Net.Tests/packages.config b/test/PolylineEncoder.Net.Tests/packages.config new file mode 100644 index 0000000..0ee860b --- /dev/null +++ b/test/PolylineEncoder.Net.Tests/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/test/PolylineEncoder.Tests/DecodeTests.cs b/test/PolylineEncoder.Tests/DecodeTests.cs new file mode 100644 index 0000000..ad94bd9 --- /dev/null +++ b/test/PolylineEncoder.Tests/DecodeTests.cs @@ -0,0 +1,26 @@ +using NUnit.Framework; +using PolylineEncoder.Net.Models; +using PolylineEncoder.Net.Utility; +using System.Collections.Generic; +using System.Linq; + +namespace PolylineEncoder.Tests +{ + public class DecodeTests + { + [Test] + public void ToStringTest() + { + // arrange + var s = "sezbGuogHuAa@TmFgAeCrBsH|FaG~CHE{IrAPtFkKgF}h@rC{AMuG~FoBpFdNvDoGhDKpBfB~CnKlHmT`IDdB{Yk@}MyCkNjKrDM`DhElFxCvNt@sS|BhB~AeKhBaBqAqDqAV}AoF}Akd@}ByJpAc@JkLfAzPzAUKmf@rBgRn@KP|G|AxCvAuAMqBtAECqCnFsGaHcl@hC{AfAyNhF_IfDsKnGcGtRqC|MbG|AcCxFtHxAyCo@aIdAaA?aFkFuT`JaC~C|Eh@mLzMpCtCaC`@|EzC}HxGbMt@xH_AvAzFs@"; + var utility = new PolylineUtility(); + + // act + IEnumerable res = utility.Decode(s); + + // assert + Assert.IsTrue(res!=null); + Assert.IsTrue(res.ToList().Count > 0); + } + } +} diff --git a/test/PolylineEncoder.Tests/PolylineEncoder.Tests.csproj b/test/PolylineEncoder.Tests/PolylineEncoder.Tests.csproj new file mode 100644 index 0000000..b3aeafd --- /dev/null +++ b/test/PolylineEncoder.Tests/PolylineEncoder.Tests.csproj @@ -0,0 +1,15 @@ + + + + netstandard2.0 + + + + + + + + + + +