Bladeren bron

Split Ix tests into Ix and Ix Async

Oren Novotny 8 jaren geleden
bovenliggende
commit
c9083bffb5
33 gewijzigde bestanden met toevoegingen van 215 en 74 verwijderingen
  1. 42 20
      Ix.NET/Source/Ix.NET.sln
  2. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AppendPrependTests.cs
  3. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AssertEx.cs
  4. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncEnumerableQueryTest.cs
  5. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncQueryableTests.Generated.cs
  6. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncQueryableTests.Generated.tt
  7. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Aggregates.cs
  8. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Bugs.cs
  9. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Conversions.cs
  10. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Creation.cs
  11. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Exceptions.cs
  12. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Multiple.cs
  13. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Single.cs
  14. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.cs
  15. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/NopObserver.cs
  16. 6 10
      Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj
  17. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/TaskExtTests.cs
  18. 0 0
      Ix.NET/Source/System.Interactive.Async.Tests/xunit.runner.json
  19. 41 41
      Ix.NET/Source/System.Interactive.Tests.Uwp.DeviceRunner/System.Interactive.Tests.Uwp.DeviceRunner.csproj
  20. 50 0
      Ix.NET/Source/System.Interactive.Tests/AssertEx.cs
  21. 22 0
      Ix.NET/Source/System.Interactive.Tests/NopObserver.cs
  22. 29 0
      Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj
  23. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Aggregates.cs
  24. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Buffering.cs
  25. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Creation.cs
  26. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Exceptions.cs
  27. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Imperative.cs
  28. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Multiple.cs
  29. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Qbservable.cs
  30. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.Single.cs
  31. 0 0
      Ix.NET/Source/System.Interactive.Tests/Tests.cs
  32. 5 0
      Ix.NET/Source/System.Interactive.Tests/xunit.runner.json
  33. 20 3
      Ix.NET/Source/build-new.ps1

+ 42 - 20
Ix.NET/Source/Ix.NET.sln

@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
-VisualStudioVersion = 15.0.26228.9
+VisualStudioVersion = 15.0.26823.1
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{87534290-A7A6-47A4-9A3A-D0D21A9AD1D4}"
 EndProject
@@ -21,8 +21,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Interactive.Provider
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Interactive.Async.Providers", "System.Interactive.Async.Providers\System.Interactive.Async.Providers.csproj", "{33691BB5-DD5B-4FED-8EE3-52CEE0DE2550}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests", "Tests\Tests.csproj", "{592E774E-D5BE-44C5-9E4D-E096BEC01552}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Interactive.Tests.Uwp.DeviceRunner", "System.Interactive.Tests.Uwp.DeviceRunner\System.Interactive.Tests.Uwp.DeviceRunner.csproj", "{ED118703-9773-4193-BC2A-966C29BC1A46}"
 	ProjectSection(ProjectDependencies) = postProject
 		{FF97CD0F-8108-4B66-8A34-42190B459180} = {FF97CD0F-8108-4B66-8A34-42190B459180}
@@ -31,6 +29,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Interactive.Tests.Uw
 		{33691BB5-DD5B-4FED-8EE3-52CEE0DE2550} = {33691BB5-DD5B-4FED-8EE3-52CEE0DE2550}
 	EndProjectSection
 EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Interactive.Tests", "System.Interactive.Tests\System.Interactive.Tests.csproj", "{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Interactive.Async.Tests", "System.Interactive.Async.Tests\System.Interactive.Async.Tests.csproj", "{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -107,22 +109,6 @@ Global
 		{33691BB5-DD5B-4FED-8EE3-52CEE0DE2550}.Release|x64.Build.0 = Release|Any CPU
 		{33691BB5-DD5B-4FED-8EE3-52CEE0DE2550}.Release|x86.ActiveCfg = Release|Any CPU
 		{33691BB5-DD5B-4FED-8EE3-52CEE0DE2550}.Release|x86.Build.0 = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|ARM.ActiveCfg = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|ARM.Build.0 = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|x64.Build.0 = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Debug|x86.Build.0 = Debug|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|Any CPU.Build.0 = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|ARM.ActiveCfg = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|ARM.Build.0 = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|x64.ActiveCfg = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|x64.Build.0 = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|x86.ActiveCfg = Release|Any CPU
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552}.Release|x86.Build.0 = Release|Any CPU
 		{ED118703-9773-4193-BC2A-966C29BC1A46}.Debug|Any CPU.ActiveCfg = Debug|x86
 		{ED118703-9773-4193-BC2A-966C29BC1A46}.Debug|Any CPU.Build.0 = Debug|x86
 		{ED118703-9773-4193-BC2A-966C29BC1A46}.Debug|Any CPU.Deploy.0 = Debug|x86
@@ -147,12 +133,48 @@ Global
 		{ED118703-9773-4193-BC2A-966C29BC1A46}.Release|x86.ActiveCfg = Release|x86
 		{ED118703-9773-4193-BC2A-966C29BC1A46}.Release|x86.Build.0 = Release|x86
 		{ED118703-9773-4193-BC2A-966C29BC1A46}.Release|x86.Deploy.0 = Release|x86
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|ARM.ActiveCfg = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|ARM.Build.0 = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|x64.Build.0 = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Debug|x86.Build.0 = Debug|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|ARM.ActiveCfg = Release|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|ARM.Build.0 = Release|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|x64.ActiveCfg = Release|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|x64.Build.0 = Release|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|x86.ActiveCfg = Release|Any CPU
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA}.Release|x86.Build.0 = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|ARM.ActiveCfg = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|ARM.Build.0 = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|x64.Build.0 = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Debug|x86.Build.0 = Debug|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|ARM.ActiveCfg = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|ARM.Build.0 = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|x64.ActiveCfg = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|x64.Build.0 = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|x86.ActiveCfg = Release|Any CPU
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC}.Release|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
-		{592E774E-D5BE-44C5-9E4D-E096BEC01552} = {87534290-A7A6-47A4-9A3A-D0D21A9AD1D4}
 		{ED118703-9773-4193-BC2A-966C29BC1A46} = {87534290-A7A6-47A4-9A3A-D0D21A9AD1D4}
+		{AFD2E6EC-C5B0-4276-A14A-467D786D0DDA} = {87534290-A7A6-47A4-9A3A-D0D21A9AD1D4}
+		{172BD8C4-5C3E-4928-9D3F-746CF336FFEC} = {87534290-A7A6-47A4-9A3A-D0D21A9AD1D4}
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {9B5F6126-CBBA-4C3A-A3BB-26AFE56DABEC}
 	EndGlobalSection
 EndGlobal

+ 0 - 0
Ix.NET/Source/Tests/AppendPrependTests.cs → Ix.NET/Source/System.Interactive.Async.Tests/AppendPrependTests.cs


+ 0 - 0
Ix.NET/Source/Tests/AssertEx.cs → Ix.NET/Source/System.Interactive.Async.Tests/AssertEx.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncEnumerableQueryTest.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncEnumerableQueryTest.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncQueryableTests.Generated.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncQueryableTests.Generated.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncQueryableTests.Generated.tt → Ix.NET/Source/System.Interactive.Async.Tests/AsyncQueryableTests.Generated.tt


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.Aggregates.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Aggregates.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.Bugs.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Bugs.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.Conversions.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Conversions.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.Creation.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Creation.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.Exceptions.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Exceptions.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.Multiple.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Multiple.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.Single.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.Single.cs


+ 0 - 0
Ix.NET/Source/Tests/AsyncTests.cs → Ix.NET/Source/System.Interactive.Async.Tests/AsyncTests.cs


+ 0 - 0
Ix.NET/Source/Tests/NopObserver.cs → Ix.NET/Source/System.Interactive.Async.Tests/NopObserver.cs


+ 6 - 10
Ix.NET/Source/Tests/Tests.csproj → Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj

@@ -5,6 +5,7 @@
     <NoWarn>$(NoWarn);CS0618</NoWarn>
   </PropertyGroup>
 
+
   <ItemGroup>
     <Content Include="xunit.runner.json">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -12,17 +13,17 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\System.Interactive.Providers\System.Interactive.Providers.csproj" />
     <ProjectReference Include="..\System.Interactive.Async.Providers\System.Interactive.Async.Providers.csproj" />
+    <ProjectReference Include="..\System.Interactive\System.Interactive.csproj" />
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170601-03" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-beta3-build3705" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742 " />
     <PackageReference Include="FluentAssertions" Version="4.19.2 " />
-    
+
     <PackageReference Include="xunit" Version="2.3.0-beta3-build3705" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta3-build3705" />
+    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta4-build3742 " />
 
   </ItemGroup>
 
@@ -31,9 +32,4 @@
     <Compile Update="AsyncQueryableTests.Generated.cs" DesignTime="True" AutoGen="True" DependentUpon="AsyncQueryableTests.Generated.tt" />
   </ItemGroup>
 
-  <ItemGroup>
-    <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
-    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
-  </ItemGroup>
-
 </Project>

+ 0 - 0
Ix.NET/Source/Tests/TaskExtTests.cs → Ix.NET/Source/System.Interactive.Async.Tests/TaskExtTests.cs


+ 0 - 0
Ix.NET/Source/Tests/xunit.runner.json → Ix.NET/Source/System.Interactive.Async.Tests/xunit.runner.json


+ 41 - 41
Ix.NET/Source/System.Interactive.Tests.Uwp.DeviceRunner/System.Interactive.Tests.Uwp.DeviceRunner.csproj

@@ -101,67 +101,70 @@
     </None>
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="..\Tests\AssertEx.cs">
-      <Link>AssertEx.cs</Link>
+    <Compile Include="..\System.Interactive.Async.Tests\AppendPrependTests.cs">
+      <Link>AppendPrependTests.cs</Link>
+    </Compile>
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncEnumerableQueryTest.cs">
+      <Link>AsyncEnumerableQueryTest.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncQueryableTests.Generated.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncQueryableTests.Generated.cs">
       <Link>AsyncQueryableTests.Generated.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.Aggregates.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.Aggregates.cs">
       <Link>AsyncTests.Aggregates.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.Bugs.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.Bugs.cs">
       <Link>AsyncTests.Bugs.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.Conversions.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.Conversions.cs">
       <Link>AsyncTests.Conversions.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.Creation.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.Creation.cs">
       <Link>AsyncTests.Creation.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.cs">
       <Link>AsyncTests.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.Exceptions.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.Exceptions.cs">
       <Link>AsyncTests.Exceptions.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.Multiple.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.Multiple.cs">
       <Link>AsyncTests.Multiple.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\AsyncTests.Single.cs">
+    <Compile Include="..\System.Interactive.Async.Tests\AsyncTests.Single.cs">
       <Link>AsyncTests.Single.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\NopObserver.cs">
-      <Link>NopObserver.cs</Link>
+    <Compile Include="..\System.Interactive.Tests\AssertEx.cs">
+      <Link>AssertEx.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\TaskExtTests.cs">
-      <Link>TaskExtTests.cs</Link>
+    <Compile Include="..\System.Interactive.Tests\NopObserver.cs">
+      <Link>NopObserver.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Aggregates.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Aggregates.cs">
       <Link>Tests.Aggregates.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Buffering.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Buffering.cs">
       <Link>Tests.Buffering.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Creation.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Creation.cs">
       <Link>Tests.Creation.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.cs">
       <Link>Tests.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Exceptions.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Exceptions.cs">
       <Link>Tests.Exceptions.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Imperative.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Imperative.cs">
       <Link>Tests.Imperative.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Multiple.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Multiple.cs">
       <Link>Tests.Multiple.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Qbservable.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Qbservable.cs">
       <Link>Tests.Qbservable.cs</Link>
     </Compile>
-    <Compile Include="..\Tests\Tests.Single.cs">
+    <Compile Include="..\System.Interactive.Tests\Tests.Single.cs">
       <Link>Tests.Single.cs</Link>
     </Compile>
     <Compile Include="App.xaml.cs">
@@ -176,6 +179,11 @@
     <None Include="System.Interactive.Tests.Uwp.DeviceRunner_TemporaryKey.pfx" />
   </ItemGroup>
   <ItemGroup>
+    <Content Include="..\System.Interactive.Async.Tests\AsyncQueryableTests.Generated.tt">
+      <Link>AsyncQueryableTests.Generated.tt</Link>
+      <Generator>TextTemplatingFileGenerator</Generator>
+      <LastGenOutput>AsyncQueryableTests.Generated1.cs</LastGenOutput>
+    </Content>
     <Content Include="Properties\Default.rd.xml" />
     <Content Include="Assets\LockScreenLogo.scale-200.png" />
     <Content Include="Assets\SplashScreen.scale-200.png" />
@@ -191,23 +199,6 @@
       <SubType>Designer</SubType>
     </ApplicationDefinition>
   </ItemGroup>
-  <ItemGroup>
-    <Reference Include="System.Interactive">
-      <HintPath>..\System.Interactive\bin\$(Configuration)\netstandard1.0\System.Interactive.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Interactive.Async">
-      <HintPath>..\System.Interactive.Async\bin\$(Configuration)\netstandard1.0\System.Interactive.Async.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Interactive.Async.Providers">
-      <HintPath>..\System.Interactive.Async.Providers\bin\$(Configuration)\netstandard1.0\System.Interactive.Async.Providers.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Interactive.Providers">
-      <HintPath>..\System.Interactive.Providers\bin\$(Configuration)\netstandard1.0\System.Interactive.Providers.dll</HintPath>
-    </Reference>
-    <Reference Include="System.ServiceModel.Internals">
-      <HintPath>..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll</HintPath>
-    </Reference>
-  </ItemGroup>
   <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
     <VisualStudioVersion>14.0</VisualStudioVersion>
   </PropertyGroup>
@@ -217,6 +208,15 @@
   <PropertyGroup>
     <AssemblyOriginatorKeyFile>..\ReactiveX.snk</AssemblyOriginatorKeyFile>
   </PropertyGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\System.Interactive\System.Interactive.csproj" />
+    <ProjectReference Include="..\System.Interactive.Providers\System.Interactive.Providers.csproj" />
+    <ProjectReference Include="..\System.Interactive.Async\System.Interactive.Async.csproj" />
+    <ProjectReference Include="..\System.Interactive.Async.Providers\System.Interactive.Async.Providers.csproj" />
+  </ItemGroup>
+  <ItemGroup>
+    <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
+  </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.

+ 50 - 0
Ix.NET/Source/System.Interactive.Tests/AssertEx.cs

@@ -0,0 +1,50 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information. 
+using Xunit;
+using System;
+
+namespace Tests
+{
+    internal class AssertEx
+    {
+        internal static void Throws<T>(Action action)
+            where T : Exception
+        {
+            Throws<T>(action, _ => true);
+        }
+
+        internal static void Throws<T>(Action action, Func<T, bool> assert)
+            where T : Exception
+        {
+            var failed = false;
+
+            try
+            {
+                action();
+            }
+            catch (T ex)
+            {
+                Assert.True(assert(ex));
+
+                failed = true;
+            }
+
+            Assert.True(failed);
+        }
+
+        internal static void SucceedOrFailProper(Action action)
+        {
+            try
+            {
+                action();   
+            }
+            catch (AggregateException ex)
+            {
+                var inner = ex.Flatten().InnerException;
+
+                // TODO: proper assert; unfortunately there's not always a good call stack
+            }
+        }
+    }
+}

+ 22 - 0
Ix.NET/Source/System.Interactive.Tests/NopObserver.cs

@@ -0,0 +1,22 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information. 
+using System;
+
+namespace Tests
+{
+    public class NopObserver<T> : IObserver<T>
+    {
+        public void OnCompleted()
+        {
+        }
+
+        public void OnError(Exception error)
+        {
+        }
+
+        public void OnNext(T value)
+        {
+        }
+    }
+}

+ 29 - 0
Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj

@@ -0,0 +1,29 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp1.1;net461</TargetFrameworks>
+    <NoWarn>$(NoWarn);CS0618</NoWarn>
+  </PropertyGroup>
+
+
+  <ItemGroup>
+    <Content Include="xunit.runner.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\System.Interactive.Providers\System.Interactive.Providers.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742 " />
+    <PackageReference Include="FluentAssertions" Version="4.19.2 " />
+    
+    <PackageReference Include="xunit" Version="2.3.0-beta3-build3705" />
+    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta4-build3742 " />
+
+  </ItemGroup>
+
+</Project>

+ 0 - 0
Ix.NET/Source/Tests/Tests.Aggregates.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Aggregates.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.Buffering.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Buffering.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.Creation.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Creation.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.Exceptions.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Exceptions.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.Imperative.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Imperative.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.Multiple.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Multiple.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.Qbservable.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Qbservable.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.Single.cs → Ix.NET/Source/System.Interactive.Tests/Tests.Single.cs


+ 0 - 0
Ix.NET/Source/Tests/Tests.cs → Ix.NET/Source/System.Interactive.Tests/Tests.cs


+ 5 - 0
Ix.NET/Source/System.Interactive.Tests/xunit.runner.json

@@ -0,0 +1,5 @@
+{
+  "diagnosticMessages": true,
+  "methodDisplay": "classAndMethod",
+  "longRunningTestSeconds": 30 
+}

+ 20 - 3
Ix.NET/Source/build-new.ps1

@@ -16,6 +16,9 @@ $signClientAppPath = Join-Path (Join-Path (Join-Path .\Packages "SignClient") "T
 #remove any old coverage file
 md -Force $outputLocation | Out-Null
 $outputPath = (Resolve-Path $outputLocation).Path
+$outputFileDotCover1 = Join-Path $outputPath -childpath 'coverage-ix1.dcvr'
+$outputFileDotCover2 = Join-Path $outputPath -childpath 'coverage-ix2.dcvr'
+$outputFileDotCover = Join-Path $outputPath -childpath 'coverage-ix.dcvr'
 $outputFile = Join-Path $outputPath -childpath 'coverage-ix.xml'
 Remove-Item $outputPath -Force -Recurse
 md -Force $outputLocation | Out-Null
@@ -45,7 +48,7 @@ New-Item -ItemType Directory -Force -Path $artifacts
 Write-Host "Restoring packages for $scriptPath\Ix.NET.sln" -Foreground Green
 # use nuget.exe to restore on the legacy proj type
 #.\nuget.exe restore "$scriptPath\System.Interactive.Tests.Uwp.DeviceRunner\System.Interactive.Tests.Uwp.DeviceRunner.csproj"
-dotnet restore "$scriptPath\Ix.NET.sln" -c $configuration 
+dotnet restore "$scriptPath\Ix.NET.sln" 
 # Force a restore again to get proper version numbers https://github.com/NuGet/Home/issues/4337
 dotnet restore "$scriptPath\Ix.NET.sln"
 
@@ -116,13 +119,13 @@ if($hasSignClientSecret) {
 }
 
 Write-Host "Running tests" -Foreground Green
-$testDirectory = Join-Path $scriptPath "Tests"  
+$testDirectory = Join-Path $scriptPath "System.Interactive.Tests"  
 
 # OpenCover isn't working currently. So run tests on CI and coverage with JetBrains 
 
 # Use xUnit CLI as it's significantly faster than vstest (dotnet test)
 $dotnet = "$env:ProgramFiles\dotnet\dotnet.exe"
-.\packages\JetBrains.dotCover.CommandLineTools\tools\dotCover.exe analyse /targetexecutable="$dotnet" /targetworkingdir="$testDirectory" /targetarguments="xunit -c $configuration" /Filters="+:module=System.Interactive;+:module=System.Interactive.Async;+:module=System.Interactive.Providers;+:module=System.Interactive.Async.Providers;-:type=Xunit*" /DisableDefaultFilters /ReturnTargetExitCode /AttributeFilters="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute" /output="$outputFile" /ReportType=DetailedXML /HideAutoProperties
+.\packages\JetBrains.dotCover.CommandLineTools\tools\dotCover.exe cover /targetexecutable="$dotnet" /targetworkingdir="$testDirectory" /targetarguments="xunit -c $configuration" /Filters="+:module=System.Interactive;+:module=System.Interactive.Async;+:module=System.Interactive.Providers;+:module=System.Interactive.Async.Providers;-:type=Xunit*" /DisableDefaultFilters /ReturnTargetExitCode /AttributeFilters="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute" /output="$outputFileDotCover1"
 
 if ($LastExitCode -ne 0) { 
 	Write-Host "Error with tests" -Foreground Red
@@ -132,6 +135,20 @@ if ($LastExitCode -ne 0) {
 	}  
 }
 
+$testDirectory = Join-Path $scriptPath "System.Interactive.Async.Tests"  
+.\packages\JetBrains.dotCover.CommandLineTools\tools\dotCover.exe cover /targetexecutable="$dotnet" /targetworkingdir="$testDirectory" /targetarguments="xunit -c $configuration" /Filters="+:module=System.Interactive;+:module=System.Interactive.Async;+:module=System.Interactive.Providers;+:module=System.Interactive.Async.Providers;-:type=Xunit*" /DisableDefaultFilters /ReturnTargetExitCode /AttributeFilters="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute" /output="$outputFileDotCover2"
+
+if ($LastExitCode -ne 0) { 
+	Write-Host "Error with tests" -Foreground Red
+	if($isAppVeyor) {
+	  $host.SetShouldExit($LastExitCode)
+	  exit $LastExitCode
+	}  
+}
+
+.\packages\JetBrains.dotCover.CommandLineTools\tools\dotCover.exe merge /Source="$outputFileDotCover1;$outputFileDotCover2" /Output="$outputFileDotCover"
+.\packages\JetBrains.dotCover.CommandLineTools\tools\dotCover.exe report /Source="$outputFileDotCover" /Output="$outputFile" /ReportType=DetailedXML /HideAutoProperties
+
 # Either display or publish the results
 if ($env:CI -eq 'True')
 {