diff --git a/NzbDrone.6.0.ReSharper b/NzbDrone.6.0.ReSharper index fc6b1c5c3..c52dd4866 100644 --- a/NzbDrone.6.0.ReSharper +++ b/NzbDrone.6.0.ReSharper @@ -87,4 +87,9 @@ + + + 43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD/d:Content + + \ No newline at end of file diff --git a/NzbDrone.App.Test/ApplicationTest.cs b/NzbDrone.App.Test/ApplicationTest.cs new file mode 100644 index 000000000..0713810c5 --- /dev/null +++ b/NzbDrone.App.Test/ApplicationTest.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using AutoMoq; +using FizzWare.NBuilder; +using FluentAssertions; +using Moq; +using NUnit.Framework; +using NzbDrone.Providers; + +namespace NzbDrone.App.Test +{ + [TestFixture] + public class MonitoringProviderTest + { + + [Test] + public void Ensure_priority_doesnt_fail_on_invalid_iis_proccess_id() + { + var mocker = new AutoMoqer(); + + var processMock = mocker.GetMock(); + processMock.Setup(c => c.GetCurrentProcess()) + .Returns(Builder.CreateNew().With(c => c.Priority == ProcessPriorityClass.Normal).Build()); + + processMock.Setup(c => c.GetProcessById(It.IsAny())).Returns((ProcessInfo)null); + + var subject = mocker.Resolve(); + + + //Act + subject.EnsurePriority(null, null); + } + + + } +} diff --git a/NzbDrone.App.Test/AutoMoq/AutoMoqer.cs b/NzbDrone.App.Test/AutoMoq/AutoMoqer.cs new file mode 100644 index 000000000..27b2eee78 --- /dev/null +++ b/NzbDrone.App.Test/AutoMoq/AutoMoqer.cs @@ -0,0 +1,166 @@ +// ReSharper disable RedundantUsingDirective +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Runtime.CompilerServices; +using AutoMoq.Unity; +using Microsoft.Practices.Unity; +using Moq; +using Moq.Language.Flow; + +[assembly: InternalsVisibleTo("AutoMoq.Tests")] + +namespace AutoMoq +{ + public class AutoMoqer + { + internal readonly MockBehavior DefaultBehavior = MockBehavior.Default; + internal Type ResolveType; + private IUnityContainer container; + private IDictionary registeredMocks; + + public AutoMoqer() + { + SetupAutoMoqer(new UnityContainer()); + } + + public AutoMoqer(MockBehavior defaultBehavior) + { + DefaultBehavior = defaultBehavior; + SetupAutoMoqer(new UnityContainer()); + + } + + internal AutoMoqer(IUnityContainer container) + { + SetupAutoMoqer(container); + } + + public virtual T Resolve() + { + ResolveType = typeof(T); + var result = container.Resolve(); + SetConstant(result); + ResolveType = null; + return result; + } + + public virtual Mock GetMock() where T : class + { + return GetMock(DefaultBehavior); + } + + public virtual Mock GetMock(MockBehavior behavior) where T : class + { + ResolveType = null; + var type = GetTheMockType(); + if (GetMockHasNotBeenCalledForThisType(type)) + { + CreateANewMockAndRegisterIt(type, behavior); + } + + var mock = TheRegisteredMockForThisType(type); + + if (behavior != MockBehavior.Default && mock.Behavior == MockBehavior.Default) + { + throw new InvalidOperationException("Unable to change be behaviour of a an existing mock."); + } + + return mock; + } + + internal virtual void SetMock(Type type, Mock mock) + { + if (registeredMocks.ContainsKey(type) == false) + registeredMocks.Add(type, mock); + } + + public virtual void SetConstant(T instance) + { + container.RegisterInstance(instance); + SetMock(instance.GetType(), null); + } + + public ISetup Setup(Expression> expression) where T : class + { + return GetMock().Setup(expression); + } + + public ISetup Setup(Expression> expression) where T : class + { + return GetMock().Setup(expression); + } + + public void Verify(Expression> expression) where T : class + { + GetMock().Verify(expression); + } + + public void Verify(Expression> expression, string failMessage) where T : class + { + GetMock().Verify(expression, failMessage); + } + + public void Verify(Expression> expression, Times times) where T : class + { + GetMock().Verify(expression, times); + } + + public void Verify(Expression> expression, Times times, string failMessage) where T : class + { + GetMock().Verify(expression, times, failMessage); + } + + public void VerifyAllMocks() + { + foreach (var registeredMock in registeredMocks) + { + var mock = registeredMock.Value as Mock; + if (mock != null) + mock.VerifyAll(); + } + } + + #region private methods + + private void SetupAutoMoqer(IUnityContainer container) + { + this.container = container; + container.RegisterInstance(this); + + registeredMocks = new Dictionary(); + AddTheAutoMockingContainerExtensionToTheContainer(container); + } + + private static void AddTheAutoMockingContainerExtensionToTheContainer(IUnityContainer container) + { + container.AddNewExtension(); + return; + } + + private Mock TheRegisteredMockForThisType(Type type) where T : class + { + return (Mock)registeredMocks.Where(x => x.Key == type).First().Value; + } + + private void CreateANewMockAndRegisterIt(Type type, MockBehavior behavior) where T : class + { + var mock = new Mock(behavior); + container.RegisterInstance(mock.Object); + SetMock(type, mock); + } + + private bool GetMockHasNotBeenCalledForThisType(Type type) + { + return registeredMocks.ContainsKey(type) == false; + } + + private static Type GetTheMockType() where T : class + { + return typeof(T); + } + + #endregion + } +} \ No newline at end of file diff --git a/NzbDrone.App.Test/AutoMoq/AutoMoqerTest.cs b/NzbDrone.App.Test/AutoMoq/AutoMoqerTest.cs new file mode 100644 index 000000000..4d31e398e --- /dev/null +++ b/NzbDrone.App.Test/AutoMoq/AutoMoqerTest.cs @@ -0,0 +1,187 @@ +// ReSharper disable RedundantUsingDirective +using System; +using AutoMoq; +using Moq; +using NUnit.Framework; + +namespace NzbDrone.Core.Test +{ + [TestFixture] + // ReSharper disable InconsistentNaming + public class AutoMoqerTest + { + [Test] + public void GetMock_on_interface_returns_mock() + { + //Arrange + var mocker = new AutoMoqer(); + + //Act + var mock = mocker.GetMock(); + + //Assert + Assert.IsNotNull(mock); + } + + [Test] + public void GetMock_on_concrete_returns_mock() + { + //Arrange + var mocker = new AutoMoqer(); + + //Act + var mock = mocker.GetMock(); + + //Assert + Assert.IsNotNull(mock); + } + + + [Test] + public void Resolve_doesnt_return_mock() + { + //Arrange + var mocker = new AutoMoqer(); + + //Act + var result = mocker.Resolve().Do(); + + //Assert + Assert.AreEqual("hello", result); + } + + [Test] + public void Resolve_with_dependency_doesnt_return_mock() + { + //Arrange + var mocker = new AutoMoqer(); + + //Act + var result = mocker.Resolve().VirtualMethod(); + + //Assert + Assert.AreEqual("hello", result); + } + + [Test] + public void Resolve_with_mocked_dependency_uses_mock() + { + //Arrange + var mocker = new AutoMoqer(); + + mocker.GetMock() + .Setup(m => m.VirtualMethod()) + .Returns("mocked"); + + //Act + var result = mocker.Resolve().CallVirtualChild(); + + //Assert + Assert.AreEqual("mocked", result); + } + + + [Test] + public void Resolve_with_unbound_concerete_dependency_uses_mock() + { + //Arrange + var mocker = new AutoMoqer(); + + //Act + var result = mocker.Resolve().CallVirtualChild(); + + var mockedResult = new Mock().Object.VirtualMethod(); + + //Assert + Assert.AreEqual(mockedResult, result); + } + + + [Test] + public void Resolve_with_constant_concerete_dependency_uses_constant() + { + //Arrange + var mocker = new AutoMoqer(); + + var constant = new VirtualDependency { PropValue = Guid.NewGuid().ToString() }; + + mocker.SetConstant(constant); + + //Act + var result = mocker.Resolve().GetVirtualProperty(); + + //Assert + Assert.AreEqual(constant.PropValue, result); + } + } + + public class ConcreteClass + { + public string Do() + { + return "hello"; + } + } + + public class Dependency : IDependency + { + } + + public interface IDependency + { + } + + public class ClassWithDependencies + { + public ClassWithDependencies(IDependency dependency) + { + Dependency = dependency; + } + + public IDependency Dependency { get; set; } + } + + public class ClassWithVirtualDependencies + { + private readonly VirtualDependency _virtualDependency; + + public ClassWithVirtualDependencies(IDependency dependency, VirtualDependency virtualDependency) + { + _virtualDependency = virtualDependency; + Dependency = dependency; + } + + public IDependency Dependency { get; set; } + + public string CallVirtualChild() + { + return _virtualDependency.VirtualMethod(); + } + + public string GetVirtualProperty() + { + return _virtualDependency.PropValue; + } + } + + public class VirtualDependency + { + private readonly IDependency _dependency; + + public VirtualDependency() + { + } + + public VirtualDependency(IDependency dependency) + { + _dependency = dependency; + } + + public string PropValue { get; set; } + + public virtual string VirtualMethod() + { + return "hello"; + } + } +} \ No newline at end of file diff --git a/NzbDrone.App.Test/AutoMoq/License.txt b/NzbDrone.App.Test/AutoMoq/License.txt new file mode 100644 index 000000000..5ead6991a --- /dev/null +++ b/NzbDrone.App.Test/AutoMoq/License.txt @@ -0,0 +1,22 @@ + Copyright (c) 2010 Darren Cauthon + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. diff --git a/NzbDrone.App.Test/AutoMoq/Unity/AutoMockingBuilderStrategy.cs b/NzbDrone.App.Test/AutoMoq/Unity/AutoMockingBuilderStrategy.cs new file mode 100644 index 000000000..af393fbee --- /dev/null +++ b/NzbDrone.App.Test/AutoMoq/Unity/AutoMockingBuilderStrategy.cs @@ -0,0 +1,84 @@ +// ReSharper disable RedundantUsingDirective +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Microsoft.Practices.ObjectBuilder2; +using Microsoft.Practices.Unity; +using Moq; + +namespace AutoMoq.Unity +{ + internal class AutoMockingBuilderStrategy : BuilderStrategy + { + private readonly IUnityContainer _container; + private readonly MockRepository _mockFactory; + private readonly IEnumerable _registeredTypes; + + public AutoMockingBuilderStrategy(IEnumerable registeredTypes, IUnityContainer container) + { + var autoMoqer = container.Resolve(); + _mockFactory = new MockRepository(autoMoqer.DefaultBehavior); + _registeredTypes = registeredTypes; + _container = container; + } + + public override void PreBuildUp(IBuilderContext context) + { + var autoMoqer = _container.Resolve(); + + var type = GetTheTypeFromTheBuilderContext(context); + if (AMockObjectShouldBeCreatedForThisType(type)) + { + var mock = CreateAMockObject(type); + context.Existing = mock.Object; + autoMoqer.SetMock(type, mock); + } + } + + #region private methods + + private bool AMockObjectShouldBeCreatedForThisType(Type type) + { + var mocker = _container.Resolve(); + return TypeIsNotRegistered(type) && (mocker.ResolveType == null || mocker.ResolveType != type); + //return TypeIsNotRegistered(type) && type.IsInterface; + } + + private static Type GetTheTypeFromTheBuilderContext(IBuilderContext context) + { + return (context.OriginalBuildKey).Type; + } + + private bool TypeIsNotRegistered(Type type) + { + return _registeredTypes.Any(x => x.Equals(type)) == false; + } + + private Mock CreateAMockObject(Type type) + { + var createMethod = GenerateAnInterfaceMockCreationMethod(type); + + return InvokeTheMockCreationMethod(createMethod); + } + + private Mock InvokeTheMockCreationMethod(MethodInfo createMethod) + { + return (Mock)createMethod.Invoke(_mockFactory, new object[] { new List().ToArray() }); + } + + private MethodInfo GenerateAnInterfaceMockCreationMethod(Type type) + { + var createMethodWithNoParameters = _mockFactory.GetType().GetMethod("Create", EmptyArgumentList()); + + return createMethodWithNoParameters.MakeGenericMethod(new[] { type }); + } + + private static Type[] EmptyArgumentList() + { + return new[] { typeof(object[]) }; + } + + #endregion + } +} \ No newline at end of file diff --git a/NzbDrone.App.Test/AutoMoq/Unity/AutoMockingContainerExtension.cs b/NzbDrone.App.Test/AutoMoq/Unity/AutoMockingContainerExtension.cs new file mode 100644 index 000000000..d9979df32 --- /dev/null +++ b/NzbDrone.App.Test/AutoMoq/Unity/AutoMockingContainerExtension.cs @@ -0,0 +1,40 @@ +// ReSharper disable RedundantUsingDirective +using System; +using System.Collections.Generic; +using Microsoft.Practices.Unity; +using Microsoft.Practices.Unity.ObjectBuilder; + +namespace AutoMoq.Unity +{ + internal class AutoMockingContainerExtension : UnityContainerExtension + { + private readonly IList registeredTypes = new List(); + + protected override void Initialize() + { + SetEventsOnContainerToTrackAllRegisteredTypes(); + SetBuildingStrategyForBuildingUnregisteredTypes(); + } + + #region private methods + + private void SetEventsOnContainerToTrackAllRegisteredTypes() + { + Context.Registering += ((sender, e) => RegisterType(e.TypeFrom)); + Context.RegisteringInstance += ((sender, e) => RegisterType(e.RegisteredType)); + } + + private void RegisterType(Type typeToRegister) + { + registeredTypes.Add(typeToRegister); + } + + private void SetBuildingStrategyForBuildingUnregisteredTypes() + { + var strategy = new AutoMockingBuilderStrategy(registeredTypes, Container); + Context.Strategies.Add(strategy, UnityBuildStage.PreCreation); + } + + #endregion + } +} \ No newline at end of file diff --git a/NzbDrone.App.Test/EnviromentControllerTest.cs b/NzbDrone.App.Test/EnviromentControllerTest.cs new file mode 100644 index 000000000..ac0d82077 --- /dev/null +++ b/NzbDrone.App.Test/EnviromentControllerTest.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using FluentAssertions; +using NUnit.Framework; +using NzbDrone.Providers; + +namespace NzbDrone.App.Test +{ + [TestFixture] + public class EnviromentControllerTest + { + + [Test] + public void Is_user_interactive_should_be_false() + { + var enviromentController = new EnviromentProvider(); + + //Act + enviromentController.IsUserInteractive.Should().BeTrue(); + } + + [Test] + public void Log_path_should_not_be_empty() + { + var enviromentController = new EnviromentProvider(); + + //Act + enviromentController.LogPath.Should().NotBeBlank(); + } + } +} diff --git a/NzbDrone.App.Test/IISProviderTest.cs b/NzbDrone.App.Test/IISProviderTest.cs new file mode 100644 index 000000000..29de777be --- /dev/null +++ b/NzbDrone.App.Test/IISProviderTest.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using AutoMoq; +using FluentAssertions; +using Moq; +using NUnit.Framework; +using NzbDrone.Providers; + +namespace NzbDrone.App.Test +{ + [TestFixture] + public class IISProviderTest + { + + + + [Test] + public void start_should_set_IISProccessId_property() + { + var mocker = new AutoMoqer(); + + var configMock = mocker.GetMock(); + configMock.SetupGet(c => c.IISExePath).Returns("NzbDrone.Test.Dummy.exe"); + + mocker.Resolve(); + + var iisProvider = mocker.Resolve(); + + iisProvider.StartServer(); + + iisProvider.IISProcessId.Should().NotBe(0); + } + + } +} diff --git a/NzbDrone.App.Test/NzbDrone.App.Test.csproj b/NzbDrone.App.Test/NzbDrone.App.Test.csproj new file mode 100644 index 000000000..2c2c2cec6 --- /dev/null +++ b/NzbDrone.App.Test/NzbDrone.App.Test.csproj @@ -0,0 +1,106 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5} + Library + Properties + NzbDrone.App.Test + NzbDrone.App.Test + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\NBuilder.3.0.1\lib\FizzWare.NBuilder.dll + + + ..\packages\FluentAssertions.1.5.0.0\Lib\.NetFramework 4.0\FluentAssertions.dll + + + ..\packages\CommonServiceLocator.1.0\lib\NET35\Microsoft.Practices.ServiceLocation.dll + + + ..\packages\Unity.2.1.505.0\lib\NET35\Microsoft.Practices.Unity.dll + + + ..\packages\Unity.2.1.505.0\lib\NET35\Microsoft.Practices.Unity.Configuration.dll + + + ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll + + + ..\packages\NUnit.2.5.10.11092\lib\nunit.framework.dll + + + ..\packages\NUnit.2.5.10.11092\lib\nunit.mocks.dll + + + ..\packages\NUnit.2.5.10.11092\lib\pnunit.framework.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + {FAFB5948-A222-4CF6-AD14-026BE7564802} + NzbDrone.Test.Dummy + + + {D12F7F2F-8A3C-415F-88FA-6DD061A84869} + NzbDrone + + + + + + + + \ No newline at end of file diff --git a/NzbDrone.App.Test/ProcessProviderTests.cs b/NzbDrone.App.Test/ProcessProviderTests.cs new file mode 100644 index 000000000..9c9d166b5 --- /dev/null +++ b/NzbDrone.App.Test/ProcessProviderTests.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using FluentAssertions; +using NUnit.Framework; +using NzbDrone.Providers; + +namespace NzbDrone.App.Test +{ + [TestFixture] + public class ProcessProviderTests + { + ProcessProvider _processProvider; + + + + [SetUp] + public void Setup() + { + _processProvider = new ProcessProvider(); + } + + [TestCase(0)] + [TestCase(123332324)] + public void Kill_should_not_fail_on_invalid_process_is(int processId) + { + _processProvider.Kill(processId); + } + + [Test] + public void GetById_should_return_null_if_process_doesnt_exist() + { + _processProvider.GetProcessById(1234567).Should().BeNull(); + } + + [Test] + public void Should_be_able_to_kill_procces() + { + var dummyProcess = StartDummyProcess(); + _processProvider.Kill(dummyProcess.Id); + dummyProcess.HasExited.Should().BeTrue(); + } + + + public Process StartDummyProcess() + { + return Process.Start("NzbDrone.Test.Dummy.exe"); + } + + } +} diff --git a/NzbDrone.App.Test/Properties/AssemblyInfo.cs b/NzbDrone.App.Test/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..1087ee610 --- /dev/null +++ b/NzbDrone.App.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 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("NzbDrone.App.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("NzbDrone.App.Test")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("b47d34ef-05e8-4826-8a57-9dd05106c964")] + +// 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/NzbDrone.App.Test/ServiceControllerTests.cs b/NzbDrone.App.Test/ServiceControllerTests.cs new file mode 100644 index 000000000..9fcc1b33a --- /dev/null +++ b/NzbDrone.App.Test/ServiceControllerTests.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using FluentAssertions; +using NUnit.Framework; +using NzbDrone.Providers; + +namespace NzbDrone.App.Test +{ + [TestFixture] + public class ServiceControllerTests + { + [Test] + public void Exists_should_find_spooler_service() + { + var serviceController = new ServiceProvider(); + + //Act + var exists = serviceController.ServiceExist("spooler"); + + exists.Should().BeTrue(); + } + + [Test] + public void Exists_should_not_find_random_service() + { + var serviceController = new ServiceProvider(); + + //Act + var exists = serviceController.ServiceExist("random_service_name"); + + exists.Should().BeFalse(); + } + + + [Test] + public void Service_should_be_installed_and_then_uninstalled() + { + var serviceController = new ServiceProvider(); + + //Act + serviceController.ServiceExist(ServiceProvider.NzbDroneServiceName).Should().BeFalse(); + serviceController.Install(); + serviceController.ServiceExist(ServiceProvider.NzbDroneServiceName).Should().BeTrue(); + serviceController.UnInstall(); + serviceController.ServiceExist(ServiceProvider.NzbDroneServiceName).Should().BeFalse(); + } + } +} diff --git a/NzbDrone.App.Test/packages.config b/NzbDrone.App.Test/packages.config new file mode 100644 index 000000000..0132851a6 --- /dev/null +++ b/NzbDrone.App.Test/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index f3c2c1479..97048a860 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -21,7 +21,7 @@ DEBUG;TRACE prompt 4 - x86 + AnyCPU pdbonly diff --git a/NzbDrone.Test.Dummy/NzbDrone.Test.Dummy.csproj b/NzbDrone.Test.Dummy/NzbDrone.Test.Dummy.csproj new file mode 100644 index 000000000..add24c10b --- /dev/null +++ b/NzbDrone.Test.Dummy/NzbDrone.Test.Dummy.csproj @@ -0,0 +1,57 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {FAFB5948-A222-4CF6-AD14-026BE7564802} + Exe + Properties + NzbDrone.Test.Dummy + NzbDrone.Test.Dummy + v4.0 + Client + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/NzbDrone.Test.Dummy/Program.cs b/NzbDrone.Test.Dummy/Program.cs new file mode 100644 index 000000000..c5356034a --- /dev/null +++ b/NzbDrone.Test.Dummy/Program.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; + +namespace NzbDrone.Test.Dummy +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Dummy process. ID:{0} Path:{1}", Process.GetCurrentProcess().Id, Process.GetCurrentProcess().MainModule.FileName); + Console.ReadLine(); + } + } +} diff --git a/NzbDrone.Test.Dummy/Properties/AssemblyInfo.cs b/NzbDrone.Test.Dummy/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..fc658c5a9 --- /dev/null +++ b/NzbDrone.Test.Dummy/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 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("NzbDrone.Test.Dummy")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("NzbDrone.Test.Dummy")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("7b773a86-574d-48c3-9e89-6f2e0dff714b")] + +// 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/NzbDrone.Web/log.config b/NzbDrone.Web/log.config index 44488e67a..3e9e0b3a6 100644 --- a/NzbDrone.Web/log.config +++ b/NzbDrone.Web/log.config @@ -18,10 +18,9 @@ - + - diff --git a/NzbDrone.sln b/NzbDrone.sln index c3d4416cc..86479c451 100644 --- a/NzbDrone.sln +++ b/NzbDrone.sln @@ -11,6 +11,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NzbDrone.Core.Test", "NzbDr EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{57A04B72-8088-4F75-A582-1158CF8291F7}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NzbDrone.App.Test", "NzbDrone.App.Test\NzbDrone.App.Test.csproj", "{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NzbDrone.Test.Dummy", "NzbDrone.Test.Dummy\NzbDrone.Test.Dummy.csproj", "{FAFB5948-A222-4CF6-AD14-026BE7564802}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -77,12 +81,38 @@ Global {193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Mixed Platforms.Build.0 = Release|Any CPU {193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x64.ActiveCfg = Release|Any CPU {193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x86.ActiveCfg = Release|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x64.ActiveCfg = Debug|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x86.ActiveCfg = Debug|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Any CPU.Build.0 = Release|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x64.ActiveCfg = Release|Any CPU + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x86.ActiveCfg = Release|Any CPU + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Any CPU.ActiveCfg = Debug|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x64.ActiveCfg = Debug|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x86.ActiveCfg = Debug|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x86.Build.0 = Debug|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Any CPU.ActiveCfg = Release|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Mixed Platforms.Build.0 = Release|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x64.ActiveCfg = Release|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x86.ActiveCfg = Release|x86 + {FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {193ADD3B-792B-4173-8E4C-5A3F8F0237F0} = {57A04B72-8088-4F75-A582-1158CF8291F7} + {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5} = {57A04B72-8088-4F75-A582-1158CF8291F7} + {FAFB5948-A222-4CF6-AD14-026BE7564802} = {57A04B72-8088-4F75-A582-1158CF8291F7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35 diff --git a/NzbDrone/Application.cs b/NzbDrone/Application.cs new file mode 100644 index 000000000..2e34bae12 --- /dev/null +++ b/NzbDrone/Application.cs @@ -0,0 +1,77 @@ +using System; +using System.Net; +using System.Threading; +using NLog; +using NzbDrone.Providers; + +namespace NzbDrone +{ + public class Application + { + private static readonly Logger Logger = LogManager.GetLogger("Host.App"); + + private readonly ConfigProvider _configProvider; + private readonly ConsoleProvider _consoleProvider; + private readonly DebuggerProvider _debuggerProvider; + private readonly EnviromentProvider _enviromentProvider; + private readonly IISProvider _iisProvider; + private readonly ProcessProvider _processProvider; + private readonly WebClient _webClient; + + public Application(ConfigProvider configProvider, WebClient webClient, IISProvider iisProvider, + ConsoleProvider consoleProvider, + DebuggerProvider debuggerProvider, EnviromentProvider enviromentProvider, + ProcessProvider processProvider) + { + _configProvider = configProvider; + _webClient = webClient; + _iisProvider = iisProvider; + _consoleProvider = consoleProvider; + _debuggerProvider = debuggerProvider; + _enviromentProvider = enviromentProvider; + _processProvider = processProvider; + + _configProvider.ConfigureNlog(); + _configProvider.CreateDefaultConfigFile(); + Logger.Info("Starting NZBDrone. Start-up Path:'{0}'", _configProvider.ApplicationRoot); + Thread.CurrentThread.Name = "Host"; + } + + public void Start() + { + _iisProvider.StopServer(); + _iisProvider.StartServer(); + + _debuggerProvider.Attach(); + + if (_enviromentProvider.IsUserInteractive && _configProvider.LaunchBrowser) + { + try + { + Logger.Info("Starting default browser. {0}", _iisProvider.AppUrl); + _processProvider.Start(_iisProvider.AppUrl); + } + catch (Exception e) + { + Logger.ErrorException("Failed to open URL in default browser.", e); + } + + _consoleProvider.WaitForClose(); + return; + } + + try + { + _webClient.DownloadString(_iisProvider.AppUrl); + } + catch (Exception e) + { + Logger.ErrorException("Failed to load home page.", e); + } + } + + public void Stop() + { + } + } +} \ No newline at end of file diff --git a/NzbDrone/Config.cs b/NzbDrone/Config.cs deleted file mode 100644 index 71141f3cd..000000000 --- a/NzbDrone/Config.cs +++ /dev/null @@ -1,112 +0,0 @@ -using System; -using System.Configuration; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Xml.Linq; -using NLog; -using NLog.Config; - -namespace NzbDrone -{ - internal class Config - { - private static string _projectRoot = string.Empty; - - internal static string ProjectRoot - { - get - { - if (string.IsNullOrEmpty(_projectRoot)) - { - var appDir = new FileInfo(Assembly.GetExecutingAssembly().Location).Directory; - - while (appDir.GetDirectories("iisexpress").Length == 0) - { - if (appDir.Parent == null) throw new ApplicationException("Can't fine IISExpress folder."); - appDir = appDir.Parent; - } - - _projectRoot = appDir.FullName; - } - - return _projectRoot; - } - } - - internal static int Port - { - get { return GetValueInt("Port"); } - } - - internal static bool LaunchBrowser - { - get { return GetValueBoolean("LaunchBrowser"); } - } - - internal static string AppDataDirectory - { - get { return Path.Combine(ProjectRoot, "NzbDrone.Web", "App_Data"); } - } - - internal static string ConfigFile - { - get { return Path.Combine(AppDataDirectory, "Config.xml"); } - } - - internal static void ConfigureNlog() - { - LogManager.Configuration = new XmlLoggingConfiguration( - Path.Combine(ProjectRoot, "NzbDrone.Web\\log.config"), false); - } - - internal static void CreateDefaultConfigFile() - { - //Create the config file here - Directory.CreateDirectory(AppDataDirectory); - - if (!File.Exists(ConfigFile)) - { - WriteDefaultConfig(); - } - } - - internal static void WriteDefaultConfig() - { - var xDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes")); - - xDoc.Add(new XElement("Config", - new XElement("Port", 8989), - new XElement("LaunchBrowser", true) - ) - ); - - xDoc.Save(ConfigFile); - } - - private static string GetValue(string key, string parent = null) - { - var xDoc = XDocument.Load(ConfigFile); - var config = xDoc.Descendants("Config").Single(); - - var parentContainer = config; - - if (parent != null) - parentContainer = config.Descendants(parent).Single(); - - var value = parentContainer.Descendants(key).Single().Value; - - return value; - } - - private static int GetValueInt(string key, string parent = null) - { - return Convert.ToInt32(GetValue(key, parent)); - } - - private static bool GetValueBoolean(string key, string parent = null) - { - return Convert.ToBoolean(GetValue(key, parent)); - } - } -} \ No newline at end of file diff --git a/NzbDrone/IISController.cs b/NzbDrone/IISController.cs deleted file mode 100644 index 1430e489b..000000000 --- a/NzbDrone/IISController.cs +++ /dev/null @@ -1,219 +0,0 @@ -using System; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Net; -using System.Runtime.Remoting; -using System.Timers; -using System.Xml.Linq; -using System.Xml.XPath; -using NLog; - -namespace NzbDrone -{ - internal class IISController - { - private static readonly Logger IISLogger = LogManager.GetLogger("IISExpress"); - private static readonly Logger Logger = LogManager.GetLogger("IISController"); - private static readonly string IISFolder = Path.Combine(Config.ProjectRoot, @"IISExpress\"); - private static readonly string IISExe = Path.Combine(IISFolder, @"iisexpress.exe"); - private static readonly string IISConfigPath = Path.Combine(IISFolder, "AppServer", "applicationhost.config"); - - private static Timer _pingTimer; - private static int _pingFailCounter; - - public static Process IISProcess { get; private set; } - - - internal static string AppUrl - { - get { return string.Format("http://localhost:{0}/", Config.Port); } - } - - internal static Process StartServer() - { - Logger.Info("Preparing IISExpress Server..."); - IISProcess = new Process(); - - IISProcess.StartInfo.FileName = IISExe; - IISProcess.StartInfo.Arguments = String.Format("/config:\"{0}\" /trace:i", IISConfigPath);//"/config:"""" /trace:i"; - IISProcess.StartInfo.WorkingDirectory = Config.ProjectRoot; - - IISProcess.StartInfo.UseShellExecute = false; - IISProcess.StartInfo.RedirectStandardOutput = true; - IISProcess.StartInfo.RedirectStandardError = true; - IISProcess.StartInfo.CreateNoWindow = true; - - - IISProcess.OutputDataReceived += (OnOutputDataReceived); - IISProcess.ErrorDataReceived += (OnErrorDataReceived); - - //Set Variables for the config file. - IISProcess.StartInfo.EnvironmentVariables.Add("NZBDRONE_PATH", Config.ProjectRoot); - IISProcess.StartInfo.EnvironmentVariables.Add("NZBDRONE_PID", Process.GetCurrentProcess().Id.ToString()); - - try - { - UpdateIISConfig(); - } - catch (Exception e) - { - Logger.ErrorException("An error has occurred while trying to update the config file.", e); - } - - - Logger.Info("Starting process. [{0}]", IISProcess.StartInfo.FileName); - - - - IISProcess.Start(); - IISProcess.PriorityClass = ProcessPriorityClass.AboveNormal; - - IISProcess.BeginErrorReadLine(); - IISProcess.BeginOutputReadLine(); - - //Start Ping - _pingTimer = new Timer(300000) { AutoReset = true }; - _pingTimer.Elapsed += (PingServer); - _pingTimer.Start(); - - return IISProcess; - } - - private static void OnErrorDataReceived(object sender, DataReceivedEventArgs e) - { - if (e == null || String.IsNullOrWhiteSpace(e.Data)) - return; - - IISLogger.Error(e.Data); - } - - internal static void StopServer() - { - KillProcess(IISProcess); - - Logger.Info("Finding orphaned IIS Processes."); - foreach (var process in Process.GetProcessesByName("IISExpress")) - { - string processPath = process.MainModule.FileName; - Logger.Info("[{0}]IIS Process found. Path:{1}", process.Id, processPath); - if (NormalizePath(processPath) == NormalizePath(IISExe)) - { - Logger.Info("[{0}]Process is considered orphaned.", process.Id); - KillProcess(process); - } - else - { - Logger.Info("[{0}]Process has a different start-up path. skipping.", process.Id); - } - } - } - - private static void RestartServer() - { - _pingTimer.Stop(); - Logger.Warn("Attempting to restart server."); - StopServer(); - StartServer(); - } - - private static void PingServer(object sender, ElapsedEventArgs e) - { - try - { - var response = new WebClient().DownloadString(AppUrl + "/health"); - - if (!response.Contains("OK")) - { - throw new ServerException("Health services responded with an invalid response."); - } - if (_pingFailCounter > 0) - { - Logger.Info("Application pool has been successfully recovered."); - } - _pingFailCounter = 0; - } - catch (Exception ex) - { - _pingFailCounter++; - Logger.ErrorException("Application pool is not responding. Count " + _pingFailCounter, ex); - if (_pingFailCounter > 2) - { - RestartServer(); - } - } - } - - private static void OnOutputDataReceived(object s, DataReceivedEventArgs e) - { - if (e == null || String.IsNullOrWhiteSpace(e.Data) || e.Data.StartsWith("Request started:") || - e.Data.StartsWith("Request ended:") || e.Data == ("IncrementMessages called")) - return; - - if (e.Data.Contains(" NzbDrone.")) - { - Console.WriteLine(e.Data); - return; - } - - IISLogger.Trace(e.Data); - } - - private static void UpdateIISConfig() - { - string configPath = Path.Combine(IISFolder, @"AppServer\applicationhost.config"); - - Logger.Info(@"Server configuration file: {0}", configPath); - Logger.Info(@"Configuring server to: [http://localhost:{0}]", Config.Port); - - var configXml = XDocument.Load(configPath); - - var bindings = - configXml.XPathSelectElement("configuration/system.applicationHost/sites").Elements("site").Where( - d => d.Attribute("name").Value.ToLowerInvariant() == "nzbdrone").First().Element("bindings"); - bindings.Descendants().Remove(); - bindings.Add( - new XElement("binding", - new XAttribute("protocol", "http"), - new XAttribute("bindingInformation", String.Format("*:{0}:localhost", Config.Port)) - )); - - bindings.Add( - new XElement("binding", - new XAttribute("protocol", "http"), - new XAttribute("bindingInformation", String.Format("*:{0}:", Config.Port)) - )); - - configXml.Save(configPath); - } - - private static void KillProcess(Process process) - { - if (process != null && !process.HasExited) - { - Logger.Info("[{0}]Killing process", process.Id); - process.Kill(); - Logger.Info("[{0}]Waiting for exit", process.Id); - process.WaitForExit(); - Logger.Info("[{0}]Process terminated successfully", process.Id); - } - } - - public static string NormalizePath(string path) - { - if (String.IsNullOrWhiteSpace(path)) - throw new ArgumentException("Path can not be null or empty"); - - var info = new FileInfo(path); - - if (info.FullName.StartsWith(@"\\")) //UNC - { - return info.FullName.TrimEnd('/', '\\', ' '); - } - - return info.FullName.Trim('/', '\\', ' ').ToLower(); - } - - - } -} \ No newline at end of file diff --git a/NzbDrone/NzbDrone.csproj b/NzbDrone/NzbDrone.csproj index 445e421ee..b7f3cdc3f 100644 --- a/NzbDrone/NzbDrone.csproj +++ b/NzbDrone/NzbDrone.csproj @@ -30,7 +30,7 @@ true - x86 + AnyCPU true full false @@ -67,27 +67,45 @@ False ..\Libraries\Exceptioneer.WindowsFormsClient.dll + + ..\packages\Ninject.2.2.1.4\lib\net40-Full\Ninject.dll + False ..\Libraries\NLog.dll + + + + + + + + + Component + - - + + + + + + + diff --git a/NzbDrone/NzbDroneService.cs b/NzbDrone/NzbDroneService.cs new file mode 100644 index 000000000..1fa341161 --- /dev/null +++ b/NzbDrone/NzbDroneService.cs @@ -0,0 +1,17 @@ +using System.ServiceProcess; + +namespace NzbDrone +{ + internal class NzbDroneService : ServiceBase + { + protected override void OnStart(string[] args) + { + base.OnStart(args); + } + + protected override void OnStop() + { + base.OnStop(); + } + } +} \ No newline at end of file diff --git a/NzbDrone/ProcessAttacher.cs b/NzbDrone/ProcessAttacher.cs index a1b7a4e56..edbe4af75 100644 --- a/NzbDrone/ProcessAttacher.cs +++ b/NzbDrone/ProcessAttacher.cs @@ -10,21 +10,16 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using EnvDTE; using EnvDTE80; -using NLog; using Thread = System.Threading.Thread; namespace NzbDrone { public class ProcessAttacher { - - private static readonly Logger Logger = LogManager.GetLogger("Application"); - - public static void Attach() { DTE2 dte2; - dte2 = (DTE2)Marshal. + dte2 = (DTE2) Marshal. GetActiveObject("VisualStudio.DTE.10.0"); var pa = new ProcessAttacher(dte2, "iisexpress", 10); @@ -32,7 +27,6 @@ namespace NzbDrone return; // Get an instance of the currently running Visual Studio IDE. - } #region private @@ -93,9 +87,9 @@ namespace NzbDrone private AttachResult PessimisticAttach(AttachType attachType) { - AttachResult res = Attach(attachType); + var res = Attach(attachType); - DateTime timeout = DateTime.Now.AddSeconds(_waitTimeout); + var timeout = DateTime.Now.AddSeconds(_waitTimeout); while (res == AttachResult.NotRunning && timeout > DateTime.Now) { @@ -107,8 +101,6 @@ namespace NzbDrone private bool IsBeingDebugged() { - - if (_dte.Debugger.DebuggedProcesses != null) { foreach (Process process in _dte.Debugger.DebuggedProcesses) diff --git a/NzbDrone/ProcessInfo.cs b/NzbDrone/ProcessInfo.cs new file mode 100644 index 000000000..5a287b970 --- /dev/null +++ b/NzbDrone/ProcessInfo.cs @@ -0,0 +1,13 @@ +using System.Diagnostics; + +namespace NzbDrone +{ + public class ProcessInfo + { + public int Id { get; set; } + public ProcessPriorityClass Priority { get; set; } + public string StartPath { get; set; } + + public bool HasExited { get; set; } + } +} \ No newline at end of file diff --git a/NzbDrone/Program.cs b/NzbDrone/Program.cs index 3200a24cd..5c391cd5a 100644 --- a/NzbDrone/Program.cs +++ b/NzbDrone/Program.cs @@ -1,167 +1,42 @@ using System; -using System.Diagnostics; -using System.Net; -using System.Threading; -using System.Timers; -using Exceptioneer.WindowsFormsClient; using NLog; +using Ninject; +using NzbDrone.Providers; + namespace NzbDrone { - internal static class Program + public static class Program { - private static readonly Logger Logger = LogManager.GetLogger("Application"); + public static readonly StandardKernel Kernel = new StandardKernel(); + + private static readonly Logger Logger = LogManager.GetLogger("Host.Main"); private static void Main() { try { - Config.ConfigureNlog(); - Config.CreateDefaultConfigFile(); - Logger.Info("Starting NZBDrone. Start-up Path:'{0}'", Config.ProjectRoot); - Thread.CurrentThread.Name = "Host"; + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); + Kernel.Bind().ToSelf().InSingletonScope(); - Process currentProcess = Process.GetCurrentProcess(); - - var prioCheckTimer = new System.Timers.Timer(5000); - prioCheckTimer.Elapsed += prioCheckTimer_Elapsed; - prioCheckTimer.Enabled = true; - - currentProcess.EnableRaisingEvents = true; - currentProcess.Exited += ProgramExited; - - AppDomain.CurrentDomain.UnhandledException += ((s, e) => AppDomainException(e)); - AppDomain.CurrentDomain.ProcessExit += ProgramExited; - AppDomain.CurrentDomain.DomainUnload += ProgramExited; - - IISController.StopServer(); - IISController.StartServer(); - -#if DEBUG - Attach(); -#endif - - if (!Environment.UserInteractive || !Config.LaunchBrowser) - { - try - { - new WebClient().DownloadString(IISController.AppUrl); - } - catch (Exception e) - { - Logger.ErrorException("Failed to load home page.", e); - } - } - else - { - try - { - Logger.Info("Starting default browser. {0}", IISController.AppUrl); - Process.Start(IISController.AppUrl); - } - catch (Exception e) - { - Logger.ErrorException("Failed to open URL in default browser.", e); - } - while (true) - { - Console.ReadLine(); - } - } + Console.WriteLine("Starting Console."); + Kernel.Get().Start(); + Kernel.Get().Start(); } catch (Exception e) { - AppDomainException(e); + Console.WriteLine(e.ToString()); + Logger.Fatal(e.ToString()); } Console.WriteLine("Press enter to exit."); Console.ReadLine(); } - - private static void prioCheckTimer_Elapsed(object sender, ElapsedEventArgs e) - { - Process currentProcess = Process.GetCurrentProcess(); - if (currentProcess.PriorityClass != ProcessPriorityClass.Normal) - { - SetPriority(currentProcess); - } - - - if (IISController.IISProcess != null) - { - IISController.IISProcess.Refresh(); - - if (IISController.IISProcess.PriorityClass != ProcessPriorityClass.Normal && IISController.IISProcess.PriorityClass != ProcessPriorityClass.AboveNormal) - { - SetPriority(IISController.IISProcess); - } - } - } - - private static void SetPriority(Process process) - { - Logger.Info("Updating [{0}] process priority from {1} to {2}", - process.ProcessName, - IISController.IISProcess.PriorityClass, - ProcessPriorityClass.Normal); - process.PriorityClass = ProcessPriorityClass.Normal; - } - - - -#if DEBUG - private static void Attach() - { - if (Debugger.IsAttached) - { - Logger.Info("Trying to attach to debugger"); - - var count = 0; - - while (true) - { - try - { - ProcessAttacher.Attach(); - Logger.Info("Debugger Attached"); - return; - } - catch (Exception e) - { - count++; - if (count > 20) - { - Logger.WarnException("Unable to attach to debugger", e); - return; - } - - Thread.Sleep(100); - - } - } - } - } -#endif - - private static void AppDomainException(object excepion) - { - Console.WriteLine("EPIC FAIL: {0}", excepion); - Logger.Fatal("EPIC FAIL: {0}", excepion); - -#if RELEASE - new Client - { - ApiKey = "43BBF60A-EB2A-4C1C-B09E-422ADF637265", - ApplicationName = "NZBDrone", - CurrentException = excepion as Exception - }.Submit(); -#endif - - IISController.StopServer(); - } - - private static void ProgramExited(object sender, EventArgs e) - { - IISController.StopServer(); - } } } \ No newline at end of file diff --git a/NzbDrone/Providers/ConfigProvider.cs b/NzbDrone/Providers/ConfigProvider.cs new file mode 100644 index 000000000..fe1524da6 --- /dev/null +++ b/NzbDrone/Providers/ConfigProvider.cs @@ -0,0 +1,148 @@ +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Xml.Linq; +using System.Xml.XPath; +using NLog; +using NLog.Config; + +namespace NzbDrone.Providers +{ + public class ConfigProvider + { + private static readonly Logger Logger = LogManager.GetLogger("Host.ConfigProvider"); + + public virtual string ApplicationRoot + { + get + { + var appDir = new FileInfo(Assembly.GetExecutingAssembly().Location).Directory; + + while (appDir.GetDirectories("iisexpress").Length == 0) + { + if (appDir.Parent == null) throw new ApplicationException("Can't fine IISExpress folder."); + appDir = appDir.Parent; + } + + return appDir.FullName; + } + } + + public virtual int Port + { + get { return GetValueInt("Port"); } + } + + public virtual bool LaunchBrowser + { + get { return GetValueBoolean("LaunchBrowser"); } + } + + public virtual string AppDataDirectory + { + get { return Path.Combine(ApplicationRoot, "NzbDrone.Web", "App_Data"); } + } + + public virtual string ConfigFile + { + get { return Path.Combine(AppDataDirectory, "Config.xml"); } + } + + public virtual string IISFolder + { + get { return Path.Combine(ApplicationRoot, @"IISExpress\"); } + } + + public virtual string IISExePath + { + get { return IISFolder + @"iisexpress.exe"; } + } + + public virtual string IISConfigPath + { + get { return Path.Combine(IISFolder, "AppServer", "applicationhost.config"); } + } + + public virtual void ConfigureNlog() + { + LogManager.Configuration = new XmlLoggingConfiguration( + Path.Combine(ApplicationRoot, "NzbDrone.Web\\log.config"), false); + } + + public virtual void UpdateIISConfig(string configPath) + { + Logger.Info(@"Server configuration file: {0}", configPath); + Logger.Info(@"Configuring server to: [http://localhost:{0}]", Port); + + var configXml = XDocument.Load(configPath); + + var bindings = + configXml.XPathSelectElement("configuration/system.applicationHost/sites").Elements("site").Where( + d => d.Attribute("name").Value.ToLowerInvariant() == "nzbdrone").First().Element("bindings"); + bindings.Descendants().Remove(); + bindings.Add( + new XElement("binding", + new XAttribute("protocol", "http"), + new XAttribute("bindingInformation", String.Format("*:{0}:localhost", Port)) + )); + + bindings.Add( + new XElement("binding", + new XAttribute("protocol", "http"), + new XAttribute("bindingInformation", String.Format("*:{0}:", Port)) + )); + + configXml.Save(configPath); + } + + public virtual void CreateDefaultConfigFile() + { + //Create the config file here + Directory.CreateDirectory(AppDataDirectory); + + if (!File.Exists(ConfigFile)) + { + WriteDefaultConfig(); + } + } + + public virtual void WriteDefaultConfig() + { + var xDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes")); + + xDoc.Add(new XElement("Config", + new XElement("Port", 8989), + new XElement("LaunchBrowser", true) + ) + ); + + xDoc.Save(ConfigFile); + } + + private string GetValue(string key, string parent = null) + { + var xDoc = XDocument.Load(ConfigFile); + var config = xDoc.Descendants("Config").Single(); + + var parentContainer = config; + + if (parent != null) + parentContainer = config.Descendants(parent).Single(); + + string value = parentContainer.Descendants(key).Single().Value; + + return value; + } + + private int GetValueInt(string key, string parent = null) + { + return Convert.ToInt32(GetValue(key, parent)); + } + + private bool GetValueBoolean(string key, string parent = null) + { + return Convert.ToBoolean(GetValue(key, parent)); + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/ConsoleProvider.cs b/NzbDrone/Providers/ConsoleProvider.cs new file mode 100644 index 000000000..d49586ab1 --- /dev/null +++ b/NzbDrone/Providers/ConsoleProvider.cs @@ -0,0 +1,15 @@ +using System; + +namespace NzbDrone.Providers +{ + public class ConsoleProvider + { + public virtual void WaitForClose() + { + while (true) + { + Console.ReadLine(); + } + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/DebuggerProvider.cs b/NzbDrone/Providers/DebuggerProvider.cs new file mode 100644 index 000000000..d37d25e85 --- /dev/null +++ b/NzbDrone/Providers/DebuggerProvider.cs @@ -0,0 +1,46 @@ +using System; +using System.Diagnostics; +using System.Threading; +using NLog; + +namespace NzbDrone.Providers +{ + public class DebuggerProvider + { + private static readonly Logger Logger = LogManager.GetLogger("Host.DebuggerProvider"); + + + public virtual void Attach() + { +#if DEBUG + if (Debugger.IsAttached) + { + Logger.Info("Trying to attach to debugger"); + + int count = 0; + + while (true) + { + try + { + ProcessAttacher.Attach(); + Logger.Info("Debugger Attached"); + return; + } + catch (Exception e) + { + count++; + if (count > 20) + { + Logger.WarnException("Unable to attach to debugger", e); + return; + } + + Thread.Sleep(100); + } + } + } +#endif + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/EnviromentProvider.cs b/NzbDrone/Providers/EnviromentProvider.cs new file mode 100644 index 000000000..45c914342 --- /dev/null +++ b/NzbDrone/Providers/EnviromentProvider.cs @@ -0,0 +1,17 @@ +using System; + +namespace NzbDrone.Providers +{ + public class EnviromentProvider + { + public virtual String LogPath + { + get { return Environment.CurrentDirectory; } + } + + public virtual bool IsUserInteractive + { + get { return Environment.UserInteractive; } + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/IISProvider.cs b/NzbDrone/Providers/IISProvider.cs new file mode 100644 index 000000000..14b042c81 --- /dev/null +++ b/NzbDrone/Providers/IISProvider.cs @@ -0,0 +1,143 @@ +using System; +using System.Diagnostics; +using System.IO; +using NLog; +using Ninject; + +namespace NzbDrone.Providers +{ + public class IISProvider + { + private static readonly Logger IISLogger = LogManager.GetLogger("Host.IISExpress"); + private static readonly Logger Logger = LogManager.GetLogger("Host.IISProvider"); + private readonly ConfigProvider _configProvider; + private readonly ProcessProvider _processProvider; + + + [Inject] + public IISProvider(ConfigProvider configProvider, ProcessProvider processProvider) + { + _configProvider = configProvider; + _processProvider = processProvider; + } + + public IISProvider() + { + } + + public string AppUrl + { + get { return string.Format("http://localhost:{0}/", _configProvider.Port); } + } + + public int IISProcessId { get; private set; } + + public bool ServerStarted { get; private set; } + + public void StartServer() + { + Logger.Info("Preparing IISExpress Server..."); + + var startInfo = new ProcessStartInfo(); + + startInfo.FileName = _configProvider.IISExePath; + startInfo.Arguments = String.Format("/config:\"{0}\" /trace:i", _configProvider.IISConfigPath); + startInfo.WorkingDirectory = _configProvider.ApplicationRoot; + + startInfo.UseShellExecute = false; + startInfo.RedirectStandardOutput = true; + startInfo.RedirectStandardError = true; + startInfo.CreateNoWindow = true; + + //Set Variables for the config file. + startInfo.EnvironmentVariables.Add("NZBDRONE_PATH", _configProvider.ApplicationRoot); + startInfo.EnvironmentVariables.Add("NZBDRONE_PID", Process.GetCurrentProcess().Id.ToString()); + + try + { + _configProvider.UpdateIISConfig(_configProvider.IISConfigPath); + } + catch (Exception e) + { + Logger.ErrorException("An error has occurred while trying to update the config file.", e); + } + + var iisProcess = _processProvider.Start(startInfo); + IISProcessId = iisProcess.Id; + + iisProcess.OutputDataReceived += (OnOutputDataReceived); + iisProcess.ErrorDataReceived += (OnErrorDataReceived); + + iisProcess.BeginErrorReadLine(); + iisProcess.BeginOutputReadLine(); + + ServerStarted = true; + } + + private static void OnErrorDataReceived(object sender, DataReceivedEventArgs e) + { + if (e == null || String.IsNullOrWhiteSpace(e.Data)) + return; + + IISLogger.Error(e.Data); + } + + public void StopServer() + { + _processProvider.Kill(IISProcessId); + + Logger.Info("Finding orphaned IIS Processes."); + foreach (var process in _processProvider.GetProcessByName("IISExpress")) + { + Logger.Info("[{0}]IIS Process found. Path:{1}", process.Id, process.StartPath); + if (NormalizePath(process.StartPath) == NormalizePath(_configProvider.IISExePath)) + { + Logger.Info("[{0}]Process is considered orphaned.", process.Id); + _processProvider.Kill(process.Id); + } + else + { + Logger.Info("[{0}]Process has a different start-up path. skipping.", process.Id); + } + } + } + + public void RestartServer() + { + ServerStarted = false; + Logger.Warn("Attempting to restart server."); + StopServer(); + StartServer(); + } + + private void OnOutputDataReceived(object s, DataReceivedEventArgs e) + { + if (e == null || String.IsNullOrWhiteSpace(e.Data) || e.Data.StartsWith("Request started:") || + e.Data.StartsWith("Request ended:") || e.Data == ("IncrementMessages called")) + return; + + if (e.Data.Contains(" NzbDrone.")) + { + Console.WriteLine(e.Data); + return; + } + + IISLogger.Trace(e.Data); + } + + private string NormalizePath(string path) + { + if (String.IsNullOrWhiteSpace(path)) + throw new ArgumentException("Path can not be null or empty"); + + var info = new FileInfo(path); + + if (info.FullName.StartsWith(@"\\")) //UNC + { + return info.FullName.TrimEnd('/', '\\', ' '); + } + + return info.FullName.Trim('/', '\\', ' ').ToLower(); + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/MonitoringProvider.cs b/NzbDrone/Providers/MonitoringProvider.cs new file mode 100644 index 000000000..55c80d0af --- /dev/null +++ b/NzbDrone/Providers/MonitoringProvider.cs @@ -0,0 +1,119 @@ +using System; +using System.Diagnostics; +using System.Runtime.Remoting; +using System.Timers; +using NLog; +using Ninject; + +namespace NzbDrone.Providers +{ + public class MonitoringProvider + { + private static readonly Logger Logger = LogManager.GetLogger("Host.MonitoringProvider"); + + private readonly IISProvider _iisProvider; + private readonly ProcessProvider _processProvider; + private readonly WebClientProvider _webClientProvider; + + private int _pingFailCounter; + private Timer _pingTimer; + + [Inject] + public MonitoringProvider(ProcessProvider processProvider, IISProvider iisProvider, + WebClientProvider webClientProvider) + { + _processProvider = processProvider; + _iisProvider = iisProvider; + _webClientProvider = webClientProvider; + } + + public MonitoringProvider() + { + } + + public void Start() + { + AppDomain.CurrentDomain.UnhandledException += ((s, e) => AppDomainException(e)); + + AppDomain.CurrentDomain.ProcessExit += ProgramExited; + AppDomain.CurrentDomain.DomainUnload += ProgramExited; + + var prioCheckTimer = new Timer(5000); + prioCheckTimer.Elapsed += EnsurePriority; + prioCheckTimer.Enabled = true; + + _pingTimer = new Timer(60000) {AutoReset = true}; + _pingTimer.Elapsed += (PingServer); + _pingTimer.Start(); + } + + + public virtual void EnsurePriority(object sender, ElapsedEventArgs e) + { + var currentProcess = _processProvider.GetCurrentProcess(); + if (currentProcess.Priority != ProcessPriorityClass.Normal) + { + _processProvider.SetPriority(currentProcess.Id, ProcessPriorityClass.Normal); + } + + var iisProcess = _processProvider.GetProcessById(_iisProvider.IISProcessId); + if (iisProcess != null && iisProcess.Priority != ProcessPriorityClass.Normal && + iisProcess.Priority != ProcessPriorityClass.AboveNormal) + { + _processProvider.SetPriority(iisProcess.Id, ProcessPriorityClass.Normal); + } + } + + public virtual void PingServer(object sender, ElapsedEventArgs e) + { + if (!_iisProvider.ServerStarted) return; + + try + { + string response = _webClientProvider.DownloadString(_iisProvider.AppUrl + "/health"); + + if (!response.Contains("OK")) + { + throw new ServerException("Health services responded with an invalid response."); + } + + if (_pingFailCounter > 0) + { + Logger.Info("Application pool has been successfully recovered."); + } + + _pingFailCounter = 0; + } + catch (Exception ex) + { + _pingFailCounter++; + Logger.ErrorException("Application pool is not responding. Count " + _pingFailCounter, ex); + if (_pingFailCounter > 2) + { + _iisProvider.RestartServer(); + } + } + } + + private void ProgramExited(object sender, EventArgs e) + { + _iisProvider.StopServer(); + } + + + private static void AppDomainException(object excepion) + { + Console.WriteLine("EPIC FAIL: {0}", excepion); + Logger.Fatal("EPIC FAIL: {0}", excepion); + +#if RELEASE + new Client + { + ApiKey = "43BBF60A-EB2A-4C1C-B09E-422ADF637265", + ApplicationName = "NZBDrone", + CurrentException = excepion as Exception + }.Submit(); +#endif + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/ProcessProvider.cs b/NzbDrone/Providers/ProcessProvider.cs new file mode 100644 index 000000000..9b7855673 --- /dev/null +++ b/NzbDrone/Providers/ProcessProvider.cs @@ -0,0 +1,86 @@ +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using NLog; + +namespace NzbDrone.Providers +{ + public class ProcessProvider + { + private static readonly Logger Logger = LogManager.GetLogger("Host.ProcessProvider"); + + + public virtual ProcessInfo GetCurrentProcess() + { + return ConvertToProcessInfo(Process.GetCurrentProcess()); + } + + public virtual ProcessInfo GetProcessById(int id) + { + return ConvertToProcessInfo(Process.GetProcesses().Where(p => p.Id == id).FirstOrDefault()); + } + + public virtual IEnumerable GetProcessByName(string name) + { + return Process.GetProcessesByName(name).Select(ConvertToProcessInfo); + } + + public virtual void Start(string path) + { + Process.Start(path); + } + + public virtual Process Start(ProcessStartInfo startInfo) + { + Logger.Info("Starting process. [{0}]", startInfo.FileName); + + var process = new Process + { + StartInfo = startInfo + }; + process.Start(); + return process; + } + + public virtual void Kill(int processId) + { + if (processId == 0) return; + if (!Process.GetProcesses().Any(p => p.Id == processId)) return; + + var process = Process.GetProcessById(processId); + + if (!process.HasExited) + { + Logger.Info("[{0}]Killing process", process.Id); + process.Kill(); + Logger.Info("[{0}]Waiting for exit", process.Id); + process.WaitForExit(); + Logger.Info("[{0}]Process terminated successfully", process.Id); + } + } + + public virtual void SetPriority(int processId, ProcessPriorityClass priority) + { + var process = Process.GetProcessById(processId); + + Logger.Info("Updating [{0}] process priority from {1} to {2}", + process.ProcessName, + process.PriorityClass, + priority); + + process.PriorityClass = priority; + } + + private static ProcessInfo ConvertToProcessInfo(Process process) + { + if (process == null) return null; + + return new ProcessInfo + { + Id = process.Id, + Priority = process.PriorityClass, + StartPath = process.MainModule.FileName + }; + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/ServiceProvider.cs b/NzbDrone/Providers/ServiceProvider.cs new file mode 100644 index 000000000..63d54bb2f --- /dev/null +++ b/NzbDrone/Providers/ServiceProvider.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Specialized; +using System.Configuration.Install; +using System.Linq; +using System.Reflection; +using System.ServiceProcess; +using NLog; + +namespace NzbDrone.Providers +{ + public class ServiceProvider + { + public const string NzbDroneServiceName = "NzbDrone"; + + private static readonly Logger Logger = LogManager.GetLogger("Host.ServiceManager"); + + + public bool ServiceExist(string name) + { + return + ServiceController.GetServices().Any( + s => String.Equals(s.ServiceName, name, StringComparison.InvariantCultureIgnoreCase)); + } + + + public virtual void Install() + { + Logger.Info("Installing service '{0}'", NzbDroneServiceName); + + + var installer = new ServiceProcessInstaller + { + Account = ServiceAccount.NetworkService + }; + + var serviceInstaller = new ServiceInstaller(); + + + String[] cmdline = {@"/assemblypath=" + Assembly.GetExecutingAssembly().Location}; + + var context = new InstallContext("service_install.log", cmdline); + serviceInstaller.Context = context; + serviceInstaller.DisplayName = NzbDroneServiceName; + serviceInstaller.ServiceName = NzbDroneServiceName; + serviceInstaller.StartType = ServiceStartMode.Automatic; + serviceInstaller.Parent = installer; + + serviceInstaller.Install(new ListDictionary()); + + Logger.Info("Service Has installed successfully."); + } + + public virtual void UnInstall() + { + var serviceInstaller = new ServiceInstaller(); + + var context = new InstallContext("install.log", null); + serviceInstaller.Context = context; + serviceInstaller.ServiceName = NzbDroneServiceName; + serviceInstaller.Uninstall(null); + } + } +} \ No newline at end of file diff --git a/NzbDrone/Providers/WebClientProvider.cs b/NzbDrone/Providers/WebClientProvider.cs new file mode 100644 index 000000000..3ffa1e920 --- /dev/null +++ b/NzbDrone/Providers/WebClientProvider.cs @@ -0,0 +1,12 @@ +using System.Net; + +namespace NzbDrone.Providers +{ + public class WebClientProvider + { + public virtual string DownloadString(string url) + { + return new WebClient().DownloadString(url); + } + } +} \ No newline at end of file diff --git a/NzbDrone/packages.config b/NzbDrone/packages.config new file mode 100644 index 000000000..3d0555548 --- /dev/null +++ b/NzbDrone/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/FluentAssertions.1.5.0.0/FluentAssertions.1.5.0.0.nupkg b/packages/FluentAssertions.1.5.0.0/FluentAssertions.1.5.0.0.nupkg new file mode 100644 index 000000000..d7af623f9 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/FluentAssertions.1.5.0.0.nupkg differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 3.5/FluentAssertions.dll b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 3.5/FluentAssertions.dll new file mode 100644 index 000000000..25fa46ee5 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 3.5/FluentAssertions.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 3.5/FluentAssertions.xml b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 3.5/FluentAssertions.xml new file mode 100644 index 000000000..47fa917dd --- /dev/null +++ b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 3.5/FluentAssertions.xml @@ -0,0 +1,2948 @@ + + + + FluentAssertions + + + + + Asserts that the current throws an exception of type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current does not throw an exception of type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current does not throw any exception. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Initializes a new instance of the class. + + + + + Asserts that the subject is considered equal to another object according to the implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is considered equal to another object according to the implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is not equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is not equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is less than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is greater than another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is greater than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is greater than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is greater than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is not null. + + + + + Asserts that a nullable numeric value is not null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is null. + + + + + Asserts that a nullable numeric value is null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Defines the way compares the expected exception + message with the actual one. + + + + + The message must match exactly, including the casing of the characters. + + + + + The message must contain the expected message. + + + + + The message must match a wildcard pattern consisting of ordinary characters as well as * and ?. + + + + + Asserts that the current dictionary has not been initialized yet with an actual dictionary. + + + + + Asserts that the current dictionary has not been initialized yet with an actual dictionary. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary has been initialized with an actual dictionary. + + + + + Asserts that the current dictionary has been initialized with an actual dictionary. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the dictionary matches the supplied amount. + + + The expected amount. + + + + + Asserts that the number of items in the dictionary matches the supplied amount. + + + The expected amount. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the dictionary matches a condition stated by a predicate. + + + The predicate which must be statisfied by the amount of items + + + + + Asserts that the number of items in the dictionary matches a condition stated by a predicate. + + + The predicate which must be statisfied by the amount of items + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary does not contain any items. + + + + + Asserts that the dictionary does not contain any items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains at least 1 item. + + + + + Asserts that the dictionary contains at least 1 item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The expected dictionary + + + + + Asserts that the current dictionary contains all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The expected dictionary + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts the current dictionary not to contain all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The unexpected dictionary + + + + + Asserts the current dictionary not to contain all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The unexpected dictionary + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains the specified key. Keys are compared using + their implementation. + + + The expected key + + + + + Asserts that the dictionary contains the specified key. Keys are compared using + their implementation. + + + The expected key + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains all of the specified keys. Keys are compared using + their implementation. + + + The expected keys + + + + + Asserts that the dictionary contains all of the specified keys. Keys are compared using + their implementation. + + + The expected keys + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified key. + Keys are compared using their implementation. + + + The unexpected key + + + + + Asserts that the current dictionary does not contain the specified key. + Keys are compared using their implementation. + + + The unexpected key + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains the specified value. Values are compared using + their implementation. + + + The expected value + + + + + Asserts that the dictionary contains the specified value. Values are compared using + their implementation. + + + The expected value + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains all of the specified values. Values are compared using + their implementation. + + + The expected values + + + + + Asserts that the dictionary contains all of the specified values. Values are compared using + their implementation. + + + The expected values + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified value. + Values are compared using their implementation. + + + The unexpected value + + + + + Asserts that the current dictionary does not contain the specified value. + Values are compared using their implementation. + + + The unexpected value + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains the specified . + Keys and values are compared using their implementation. + + + The to look for + + + + + Asserts that the current dictionary contains the specified . + Keys and values are compared using their implementation. + + + The to look for + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains the specified for the supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + + + Asserts that the current dictionary contains the specified for the supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified . + Keys and values are compared using their implementation. + + + The to look for + + + + + Asserts that the current dictionary does not contain the specified . + Keys and values are compared using their implementation. + + + The to look for + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified for the + supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + + + Asserts that the current dictionary does not contain the specified for the + supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Is responsible for validating the equality of one or more properties of a subject with another object. + + + + + Provides methods for asserting that the execution time of an satifies certain conditions. + + + + + Asserts that the execution time of the operation does not exceed a specified amount of time. + + + The maximum allowed duration. + + + + + Asserts that the execution time of the operation does not exceed a specified amount of time. + + + The maximum allowed duration. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Provides methods for asserting that the execution time of an object member satifies certain conditions. + + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Dedicated class for comparing two strings and generating consistent error messages. + + + + + Gets or sets a value indicating whether the subject should not match the pattern. + + + + + Gets or sets a value indicating whether the matching process should ignore any casing difference. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Returns a based on a number of milliseconds. + + + + + Returns a based on a number of seconds. + + + + + Returns a based on a number of minutes. + + + + + Returns a based on a number of hours. + + + + + Returns a based on a number of days. + + + + + Asserts that the object is assignable to a variable of type . + + The type to which the object should be assignable. + An which can be used to chain assertions. + + + + Asserts that the object is assignable to a variable of type . + + The type to which the object should be assignable. + The reason why the object should be assignable to the type. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the is statisfied. + + The predicate which must be satisfied by the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + The reason why the predicate should be satisfied. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + The reason why the predicate should be satisfied. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Gets the object which value is being asserted. + + + + + Asserts that the value is false. + + + + + Asserts that the value is false. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is true. + + + + + Asserts that the value is true. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is equal to the specified value. + + + + + Asserts that the value is equal to the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the number of items in the collection matches the supplied amount. + + + + + Asserts that the number of items in the collection matches the supplied amount. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the collection matches a condition stated by the . + + + + + Asserts that the number of items in the collection matches a condition stated by the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any items. + + + + + Asserts that the collection does not contain any items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection contains at least 1 item. + + + + + Asserts that the collection contains at least 1 item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any duplicate items. + + + + + Asserts that the collection does not contain any duplicate items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any null items. + + + + + Asserts that the collection does not contain any null items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection not to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + + + Expects the current collection not to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection not to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection not to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection only contains items that are assignable to the type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain the specified elements in any order. Elements are compared + using their implementation. + + + + + Expects the current collection to contain the specified elements in any order. Elements are compared + using their implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain the specified elements in the exact same order. Elements are compared + using their implementation. + + + + + Expects the current collection to contain the specified elements in the exact same order. Elements are compared + using their implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection is a subset of the . + + + + + Asserts that the collection is a subset of the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection is not a subset of the . + + + + + Asserts that the collection is not a subset of the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Assert that the current collection has the same number of elements as . + + + + + Assert that the current collection has the same number of elements as . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has not been initialized yet with an actual collection. + + + + + Asserts that the current collection has not been initialized yet with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has been initialized with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has been initialized with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has the supplied at the + supplied . + + + + + Asserts that the current collection has the supplied at the + supplied . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection only contains items that are assignable to the type . + + + + + Asserts that the current collection does not contain the supplied item. + + + + + Asserts that the current collection does not contain the supplied item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Finds the first index at which the does not match the + string anymore, including the exact casing. + + + + + Finds the first index at which the does not match the + string anymore, accounting for the specified . + + + + + Gets the quoted three characters at the specified index of a string, including the index itself. + + + + + Replaces all characters that might conflict with formatting placeholders and newlines with their escaped counterparts. + + + + + Provides extension methods for monitoring and querying events. + + + + + Starts monitoring an object for its events. + + Thrown if eventSource is Null. + + + + Asserts that an object has raised a particular event at least once. + + + The name of the event that should have been raised. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has raised a particular event at least once. + + + The name of the event that should have been raised. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised a particular event. + + + The name of the event that should not be raised. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised a particular event. + + + The name of the event that should not be raised. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has raised the event for a particular property. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has raised the event for a particular property. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised the event for a particular property. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised the event for a particular property. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that all occurences of the event originated from the . + + + + + Asserts that at least one occurrence of the event had an object matching a predicate. + + + + + Records activity for a single event. + + + + + Records raised events for one event on one object + + + + + Store information about a raised event + + Parameters the event was raised with + + + + The object events are recorded from + + + + + The name of the event that's recorded + + + + + + The object events are recorded from + The name of the event that's recorded + + + + Enumerate raised events + + + + + Enumerate raised events + + + + + + Called by the auto-generated IL, to record information about a raised event. + + + + + The object events are recorded from + + + + + The name of the event that's recorded + + + + + Static methods that aid in generic event subscription + + + + + Generates an eventhandler for an event of type eventSignature that calls RegisterEvent on recorder + when invoked. + + + + + Finds the Return Type of a Delegate. + + + + + Returns an Array of Types that make up a delegate's parameter signature. + + + + + Returns an array of types appended with an EventRecorder reference at the beginning. + + + + + Returns T/F Dependent on a Type Being a Delegate. + + + + + Returns the MethodInfo for the Delegate's "Invoke" Method. + + + + + This class is used to store data about an intercepted event + + + + + Default constructor stores the parameters the event was raised with + + + + + Parameters for the event + + + + + Simple dictionary that uses a to the event source as the key. + This should ensure the Garbage Collector can still clean-up the event source object. + + + + + Determines whether this instance can handle the specified value. + + The value. + + true if this instance can handle the specified value; otherwise, false. + + + + + Returns a that represents this instance. + + The value. + + A that represents this instance. + + + + + Provides services for formatting an object being used in an assertion in a human readable format. + + + + + A list of objects responsible for formatting the objects represented by placeholders. + + + + + Returns a human-readable representation of a particular object. + + + + + Returns a human-readable representation of a particular object that starts on a new line. + + + + + Asserts that the collection contains the specified item. + + + + + Asserts that the collection contains the specified item. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection contains some extra items in addition to the original items. + + + + + Asserts that the collection contains at least one item that matches the predicate. + + + + + Asserts that the collection contains at least one item that matches the predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection only contains items that match a predicate. + + + + + Asserts that the collection only contains items that match a predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection does not contain any items that match the predicate. + + + + + Asserts that the collection does not contain any items that match the predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Contains extension methods for custom assertions in unit tests. + + + + + Invokes the specified action on an subject so that you can chain it with any of the ShouldThrow or ShouldNotThrow + overloads. + + + + + Provides methods for asserting the execution time of a method or property. + + The object that exposes the method or property. + A reference to the method or property to measure the execution time of. + + Returns an object for asserting that the execution time matches certain conditions. + + + + + Provides methods for asserting the execution time of a method or property. + + The object that exposes the method or property. + A reference to the method or property to measure the execution time of. + + Returns an object for asserting that the execution time matches certain conditions. + + + + + Asserts that the throws an exception. + + + The type of the exception it should throw. + + + Returns an object that allows asserting additional members of the thrown exception. + + + + + Asserts that the throws an exception. + + + The type of the exception it should throw. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + Returns an object that allows asserting additional members of the thrown exception. + + + + + Asserts that the does not throw a particular exception. + + + The type of the exception it should not throw. Any other exceptions are ignored and will satisfy the assertion. + + + + + Asserts that the does not throw a particular exception. + + + The type of the exception it should not throw. Any other exceptions are ignored and will satisfy the assertion. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the does not throw any exception at all. + + + + + Asserts that the does not throw any exception at all. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Forces enumerating a collection. Should be used to assert that a method that uses the + yield keyword throws a particular exception. + + + + + Forces enumerating a collection. Should be used to assert that a method that uses the + yield keyword throws a particular exception. + + + + + Asserts that the properties of an object matches those of another object. + + + + + Safely casts the specified object to the type specified through . + + + Has been introduced to allow casting objects without breaking the fluent API. + + + + + + Asserts that the current is exactly equal to the value. + + + + + Asserts that the current is exactly equal to the value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is before the specified value. + + + + + Asserts that the current is before the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is either on, or before the specified value. + + + + + Asserts that the current is either on, or before the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is after the specified value. + + + + + Asserts that the current is after the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is either on, or after the specified value. + + + + + Asserts that the current is either on, or after the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the year. + + + + + Asserts that the current has the year. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the month. + + + + + Asserts that the current has the month. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the day. + + + + + Asserts that the current has the day. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the hour. + + + + + Asserts that the current has the hour. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the minute. + + + + + Asserts that the current has the minute. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the second. + + + + + Asserts that the current has the second. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Returns a object that can be used to assert that the current + exceeds the specified compared to another . + + + The amount of time that the current should exceed compared to another . + + + + + Returns a object that can be used to assert that the current + is equal to or exceeds the specified compared to another . + + + The amount of time that the current should be equal or exceed compared to + another . + + + + + Returns a object that can be used to assert that the current + differs exactly the specified compared to another . + + + The amount of time that the current should differ exactly compared to another . + + + + + Returns a object that can be used to assert that the current + is within the specified compared to another . + + + The amount of time that the current should be within another . + + + + + Returns a object that can be used to assert that the current + differs at maximum the specified compared to another . + + + The maximum amount of time that the current should differ compared to another . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the thrown exception has a message that exactly matches the + + + The expected message of the exception. + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + Determines how the expected message is compared with the actual message. + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + Determines how the expected message is compared with the actual message. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the thrown exception contains an inner exception of type . + + The expected type of the inner exception. + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception of type . + + The expected type of the inner exception. + The reason why the inner exception should be of the supplied type. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception with the . + + The expected message of the inner exception. + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception with the . + + The expected message of the inner exception. + + The reason why the message of the inner exception should match . + + The parameters used when formatting the . + + + + Asserts that the exception matches a particular condition. + + + The condition that the exception must match. + + + + + Asserts that the exception matches a particular condition. + + + The condition that the exception must match. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Gets the exception object of the exception thrown. + + + + + Asserts that a nullable numeric value is not null. + + + + + Asserts that a nullable numeric value is not null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is null. + + + + + Asserts that a nullable numeric value is null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value of an object equals another object when using it's method. + + + + + Asserts that an object equals another object using its implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that an object does not equal another object using it's method. + + + + + Asserts that an object does not equal another object using it's method. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object reference refers to the exact same object as another object reference. + + + + + Asserts that an object reference refers to the exact same object as another object reference. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object reference refers to a different object than another object reference refers to. + + + + + Asserts that an object reference refers to a different object than another object reference refers to. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object can be serialized and deserialized using the binary serializer and that it stills retains + the values of all properties. + + + + + Asserts that an object can be serialized and deserialized using the binary serializer and that it stills retains + the values of all properties. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that an object can be serialized and deserialized using the XML serializer and that it stills retains + the values of all properties. + + + + + Asserts that an object can be serialized and deserialized using the XML serializer and that it stills retains + the values of all properties. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Provides methods for selecting one or properties of an object and comparing them with another object. + + + + + Includes all properties of when comparing the subject with another object using . + + + + + Includes all properties of including those of the run-time type when comparing the subject + with another object using . + + + + + Includes all properties of when comparing the subject with another object using , + except those that the other object does not have. + + + + + Includes all properties of when comparing the subject with another object using , + except those specified using a property expression. + + + + + Includes only those properties of when comparing the subject with another object using + that were specified using a property expression. + + + + + Asserts that the previously selected properties of have the same value as the equally named + properties of . + + + Property values are considered equal if, after converting them to the requested type, calling + returns true. + + + + + Asserts that the previously selected properties of have the same value as the equally named + properties of . + + + Property values are considered equal if, after converting them to the requested type, calling + returns true. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Initializes a new instance of the class. + + + + + Asserts that a string is equal to another string. + + + The expected string. + + + + + Asserts that a string is exactly the same as another string, including the casing and any leading or trailing whitespace. + + + The expected string. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string is exactly the same as another string, including any leading or trailing whitespace, with + the exception of the casing. + + + The string that the subject is expected to be equivalent to. + + + + + Asserts that a string is exactly the same as another string, including any leading or trailing whitespace, with + the exception of the casing. + + + The string that the subject is expected to be equivalent to. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string contains another (fragment of a) string. + + + The (fragement of a) string that the current string should contain. + + + + + Asserts that a string contains another (fragment of a) string. + + + The (fragement of a) string that the current string should contain. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not contain another (fragment of a) string. + + + The (fragement of a) string that the current string should not contain. + + + + + Asserts that a string does not contain another (fragment of a) string. + + + The (fragement of a) string that the current string should not contain. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Ensures that a string is neither null or empty. + + + + + Ensures that a string is neither null or empty. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is neither null or empty. + + + + + Ensures that a string is either null or empty. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is neither null nor empty nor white space + + + + + Ensures that a string is neither null nor empty nor white space + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is either null or empty or white space + + + + + Ensures that a string is either null or empty or white space + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Gets the object which value is being asserted. + + + + + Provides methods for asserting that two objects differ in certain ways. + + + + + Asserts that a occurs a specified amount of time before another . + + + The to compare the subject with. + + + + + Asserts that a occurs a specified amount of time before another . + + + The to compare the subject with. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that a occurs a specified amount of time after another . + + + The to compare the subject with. + + + + + Asserts that a occurs a specified amount of time after another . + + + The to compare the subject with. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Provides the logic and the display text for a . + + + + + Helper class for verifying a condition and/or throwing a test harness specific exception representing an assertion failure. + + + + + Asserts that the supplied is met. + + The condition to assert. + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . +
+ + + Asserts that the supplied is met. + + The condition to assert. + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . +
+ + + Handles an assertion failure. + + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ Any additional placeholders are allowed and will be satisfied using the . + + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . + + Optional arguments to satisfy any additional placeholders in the + +
+ + + Gets an object that wraps and executes a conditional or unconditional verification. + + + + + Provides a fluent API for verifying an arbitrary condition. + + + + + Initializes a new instance of the class. + + + + + Gets the name or identifier of the current subject, or a default value if the subject is not known. + + + + + Define the failure message for the verification. + + + If the contains the text "{reason}", this will be replaced by the reason as + defined through . Only 10 are supported in combination with + a {reason}. + + The format string that represents the failure message. + Optional arguments for the + + + + Indicates that every argument passed into is displayed on a separate line. + + + + + Gets or sets the name of the subject for the next verification. + + +
+
diff --git a/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 4.0/FluentAssertions.dll b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 4.0/FluentAssertions.dll new file mode 100644 index 000000000..0e091fd15 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 4.0/FluentAssertions.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 4.0/FluentAssertions.xml b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 4.0/FluentAssertions.xml new file mode 100644 index 000000000..0ff33172f --- /dev/null +++ b/packages/FluentAssertions.1.5.0.0/Lib/.NetFramework 4.0/FluentAssertions.xml @@ -0,0 +1,2948 @@ + + + + FluentAssertions + + + + + Initializes a new instance of the class. + + + + + Contains extension methods for custom assertions in unit tests. + + + + + Invokes the specified action on an subject so that you can chain it with any of the ShouldThrow or ShouldNotThrow + overloads. + + + + + Provides methods for asserting the execution time of a method or property. + + The object that exposes the method or property. + A reference to the method or property to measure the execution time of. + + Returns an object for asserting that the execution time matches certain conditions. + + + + + Provides methods for asserting the execution time of a method or property. + + The object that exposes the method or property. + A reference to the method or property to measure the execution time of. + + Returns an object for asserting that the execution time matches certain conditions. + + + + + Asserts that the throws an exception. + + + The type of the exception it should throw. + + + Returns an object that allows asserting additional members of the thrown exception. + + + + + Asserts that the throws an exception. + + + The type of the exception it should throw. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + Returns an object that allows asserting additional members of the thrown exception. + + + + + Asserts that the does not throw a particular exception. + + + The type of the exception it should not throw. Any other exceptions are ignored and will satisfy the assertion. + + + + + Asserts that the does not throw a particular exception. + + + The type of the exception it should not throw. Any other exceptions are ignored and will satisfy the assertion. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the does not throw any exception at all. + + + + + Asserts that the does not throw any exception at all. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Forces enumerating a collection. Should be used to assert that a method that uses the + yield keyword throws a particular exception. + + + + + Forces enumerating a collection. Should be used to assert that a method that uses the + yield keyword throws a particular exception. + + + + + Asserts that the properties of an object matches those of another object. + + + + + Safely casts the specified object to the type specified through . + + + Has been introduced to allow casting objects without breaking the fluent API. + + + + + + Asserts that the current throws an exception of type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current does not throw an exception of type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current does not throw any exception. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is false. + + + + + Asserts that the value is false. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is true. + + + + + Asserts that the value is true. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is equal to the specified value. + + + + + Asserts that the value is equal to the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the object is assignable to a variable of type . + + The type to which the object should be assignable. + An which can be used to chain assertions. + + + + Asserts that the object is assignable to a variable of type . + + The type to which the object should be assignable. + The reason why the object should be assignable to the type. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the is statisfied. + + The predicate which must be satisfied by the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + The reason why the predicate should be satisfied. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + The reason why the predicate should be satisfied. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Gets the object which value is being asserted. + + + + + Asserts that the number of items in the collection matches the supplied amount. + + + + + Asserts that the number of items in the collection matches the supplied amount. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the collection matches a condition stated by the . + + + + + Asserts that the number of items in the collection matches a condition stated by the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any items. + + + + + Asserts that the collection does not contain any items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection contains at least 1 item. + + + + + Asserts that the collection contains at least 1 item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any duplicate items. + + + + + Asserts that the collection does not contain any duplicate items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any null items. + + + + + Asserts that the collection does not contain any null items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection not to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + + + Expects the current collection not to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection not to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection not to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection only contains items that are assignable to the type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain the specified elements in any order. Elements are compared + using their implementation. + + + + + Expects the current collection to contain the specified elements in any order. Elements are compared + using their implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain the specified elements in the exact same order. Elements are compared + using their implementation. + + + + + Expects the current collection to contain the specified elements in the exact same order. Elements are compared + using their implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection is a subset of the . + + + + + Asserts that the collection is a subset of the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection is not a subset of the . + + + + + Asserts that the collection is not a subset of the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Assert that the current collection has the same number of elements as . + + + + + Assert that the current collection has the same number of elements as . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has not been initialized yet with an actual collection. + + + + + Asserts that the current collection has not been initialized yet with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has been initialized with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has been initialized with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has the supplied at the + supplied . + + + + + Asserts that the current collection has the supplied at the + supplied . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection only contains items that are assignable to the type . + + + + + Asserts that the current collection does not contain the supplied item. + + + + + Asserts that the current collection does not contain the supplied item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is considered equal to another object according to the implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is considered equal to another object according to the implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is not equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is not equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is less than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is greater than another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is greater than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is greater than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is greater than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is not null. + + + + + Asserts that a nullable numeric value is not null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is null. + + + + + Asserts that a nullable numeric value is null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Defines the way compares the expected exception + message with the actual one. + + + + + The message must match exactly, including the casing of the characters. + + + + + The message must contain the expected message. + + + + + The message must match a wildcard pattern consisting of ordinary characters as well as * and ?. + + + + + Asserts that the current is exactly equal to the value. + + + + + Asserts that the current is exactly equal to the value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is before the specified value. + + + + + Asserts that the current is before the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is either on, or before the specified value. + + + + + Asserts that the current is either on, or before the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is after the specified value. + + + + + Asserts that the current is after the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is either on, or after the specified value. + + + + + Asserts that the current is either on, or after the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the year. + + + + + Asserts that the current has the year. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the month. + + + + + Asserts that the current has the month. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the day. + + + + + Asserts that the current has the day. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the hour. + + + + + Asserts that the current has the hour. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the minute. + + + + + Asserts that the current has the minute. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the second. + + + + + Asserts that the current has the second. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Returns a object that can be used to assert that the current + exceeds the specified compared to another . + + + The amount of time that the current should exceed compared to another . + + + + + Returns a object that can be used to assert that the current + is equal to or exceeds the specified compared to another . + + + The amount of time that the current should be equal or exceed compared to + another . + + + + + Returns a object that can be used to assert that the current + differs exactly the specified compared to another . + + + The amount of time that the current should differ exactly compared to another . + + + + + Returns a object that can be used to assert that the current + is within the specified compared to another . + + + The amount of time that the current should be within another . + + + + + Returns a object that can be used to assert that the current + differs at maximum the specified compared to another . + + + The maximum amount of time that the current should differ compared to another . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the thrown exception has a message that exactly matches the + + + The expected message of the exception. + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + Determines how the expected message is compared with the actual message. + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + Determines how the expected message is compared with the actual message. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the thrown exception contains an inner exception of type . + + The expected type of the inner exception. + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception of type . + + The expected type of the inner exception. + The reason why the inner exception should be of the supplied type. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception with the . + + The expected message of the inner exception. + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception with the . + + The expected message of the inner exception. + + The reason why the message of the inner exception should match . + + The parameters used when formatting the . + + + + Asserts that the exception matches a particular condition. + + + The condition that the exception must match. + + + + + Asserts that the exception matches a particular condition. + + + The condition that the exception must match. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Gets the exception object of the exception thrown. + + + + + Provides methods for asserting that the execution time of an satifies certain conditions. + + + + + Asserts that the execution time of the operation does not exceed a specified amount of time. + + + The maximum allowed duration. + + + + + Asserts that the execution time of the operation does not exceed a specified amount of time. + + + The maximum allowed duration. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Provides methods for asserting that the execution time of an object member satifies certain conditions. + + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection contains the specified item. + + + + + Asserts that the collection contains the specified item. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection contains some extra items in addition to the original items. + + + + + Asserts that the collection contains at least one item that matches the predicate. + + + + + Asserts that the collection contains at least one item that matches the predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection only contains items that match a predicate. + + + + + Asserts that the collection only contains items that match a predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection does not contain any items that match the predicate. + + + + + Asserts that the collection does not contain any items that match the predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the current dictionary has not been initialized yet with an actual dictionary. + + + + + Asserts that the current dictionary has not been initialized yet with an actual dictionary. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary has been initialized with an actual dictionary. + + + + + Asserts that the current dictionary has been initialized with an actual dictionary. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the dictionary matches the supplied amount. + + + The expected amount. + + + + + Asserts that the number of items in the dictionary matches the supplied amount. + + + The expected amount. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the dictionary matches a condition stated by a predicate. + + + The predicate which must be statisfied by the amount of items + + + + + Asserts that the number of items in the dictionary matches a condition stated by a predicate. + + + The predicate which must be statisfied by the amount of items + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary does not contain any items. + + + + + Asserts that the dictionary does not contain any items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains at least 1 item. + + + + + Asserts that the dictionary contains at least 1 item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The expected dictionary + + + + + Asserts that the current dictionary contains all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The expected dictionary + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts the current dictionary not to contain all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The unexpected dictionary + + + + + Asserts the current dictionary not to contain all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The unexpected dictionary + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains the specified key. Keys are compared using + their implementation. + + + The expected key + + + + + Asserts that the dictionary contains the specified key. Keys are compared using + their implementation. + + + The expected key + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains all of the specified keys. Keys are compared using + their implementation. + + + The expected keys + + + + + Asserts that the dictionary contains all of the specified keys. Keys are compared using + their implementation. + + + The expected keys + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified key. + Keys are compared using their implementation. + + + The unexpected key + + + + + Asserts that the current dictionary does not contain the specified key. + Keys are compared using their implementation. + + + The unexpected key + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains the specified value. Values are compared using + their implementation. + + + The expected value + + + + + Asserts that the dictionary contains the specified value. Values are compared using + their implementation. + + + The expected value + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains all of the specified values. Values are compared using + their implementation. + + + The expected values + + + + + Asserts that the dictionary contains all of the specified values. Values are compared using + their implementation. + + + The expected values + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified value. + Values are compared using their implementation. + + + The unexpected value + + + + + Asserts that the current dictionary does not contain the specified value. + Values are compared using their implementation. + + + The unexpected value + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains the specified . + Keys and values are compared using their implementation. + + + The to look for + + + + + Asserts that the current dictionary contains the specified . + Keys and values are compared using their implementation. + + + The to look for + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains the specified for the supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + + + Asserts that the current dictionary contains the specified for the supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified . + Keys and values are compared using their implementation. + + + The to look for + + + + + Asserts that the current dictionary does not contain the specified . + Keys and values are compared using their implementation. + + + The to look for + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified for the + supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + + + Asserts that the current dictionary does not contain the specified for the + supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is not null. + + + + + Asserts that a nullable numeric value is not null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is null. + + + + + Asserts that a nullable numeric value is null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the value of an object equals another object when using it's method. + + + + + Asserts that an object equals another object using its implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that an object does not equal another object using it's method. + + + + + Asserts that an object does not equal another object using it's method. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object reference refers to the exact same object as another object reference. + + + + + Asserts that an object reference refers to the exact same object as another object reference. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object reference refers to a different object than another object reference refers to. + + + + + Asserts that an object reference refers to a different object than another object reference refers to. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object can be serialized and deserialized using the binary serializer and that it stills retains + the values of all properties. + + + + + Asserts that an object can be serialized and deserialized using the binary serializer and that it stills retains + the values of all properties. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that an object can be serialized and deserialized using the XML serializer and that it stills retains + the values of all properties. + + + + + Asserts that an object can be serialized and deserialized using the XML serializer and that it stills retains + the values of all properties. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Provides methods for selecting one or properties of an object and comparing them with another object. + + + + + Includes all properties of when comparing the subject with another object using . + + + + + Includes all properties of including those of the run-time type when comparing the subject + with another object using . + + + + + Includes all properties of when comparing the subject with another object using , + except those that the other object does not have. + + + + + Includes all properties of when comparing the subject with another object using , + except those specified using a property expression. + + + + + Includes only those properties of when comparing the subject with another object using + that were specified using a property expression. + + + + + Asserts that the previously selected properties of have the same value as the equally named + properties of . + + + Property values are considered equal if, after converting them to the requested type, calling + returns true. + + + + + Asserts that the previously selected properties of have the same value as the equally named + properties of . + + + Property values are considered equal if, after converting them to the requested type, calling + returns true. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Is responsible for validating the equality of one or more properties of a subject with another object. + + + + + Initializes a new instance of the class. + + + + + Asserts that a string is equal to another string. + + + The expected string. + + + + + Asserts that a string is exactly the same as another string, including the casing and any leading or trailing whitespace. + + + The expected string. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string is exactly the same as another string, including any leading or trailing whitespace, with + the exception of the casing. + + + The string that the subject is expected to be equivalent to. + + + + + Asserts that a string is exactly the same as another string, including any leading or trailing whitespace, with + the exception of the casing. + + + The string that the subject is expected to be equivalent to. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string contains another (fragment of a) string. + + + The (fragement of a) string that the current string should contain. + + + + + Asserts that a string contains another (fragment of a) string. + + + The (fragement of a) string that the current string should contain. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not contain another (fragment of a) string. + + + The (fragement of a) string that the current string should not contain. + + + + + Asserts that a string does not contain another (fragment of a) string. + + + The (fragement of a) string that the current string should not contain. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Ensures that a string is neither null or empty. + + + + + Ensures that a string is neither null or empty. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is neither null or empty. + + + + + Ensures that a string is either null or empty. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is neither null nor empty nor white space + + + + + Ensures that a string is neither null nor empty nor white space + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is either null or empty or white space + + + + + Ensures that a string is either null or empty or white space + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Gets the object which value is being asserted. + + + + + Dedicated class for comparing two strings and generating consistent error messages. + + + + + Gets or sets a value indicating whether the subject should not match the pattern. + + + + + Gets or sets a value indicating whether the matching process should ignore any casing difference. + + + + + Provides methods for asserting that two objects differ in certain ways. + + + + + Asserts that a occurs a specified amount of time before another . + + + The to compare the subject with. + + + + + Asserts that a occurs a specified amount of time before another . + + + The to compare the subject with. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that a occurs a specified amount of time after another . + + + The to compare the subject with. + + + + + Asserts that a occurs a specified amount of time after another . + + + The to compare the subject with. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Provides the logic and the display text for a . + + + + + Returns a based on a number of milliseconds. + + + + + Returns a based on a number of seconds. + + + + + Returns a based on a number of minutes. + + + + + Returns a based on a number of hours. + + + + + Returns a based on a number of days. + + + + + Finds the first index at which the does not match the + string anymore, including the exact casing. + + + + + Finds the first index at which the does not match the + string anymore, accounting for the specified . + + + + + Gets the quoted three characters at the specified index of a string, including the index itself. + + + + + Replaces all characters that might conflict with formatting placeholders and newlines with their escaped counterparts. + + + + + Static methods that aid in generic event subscription + + + + + Generates an eventhandler for an event of type eventSignature that calls RegisterEvent on recorder + when invoked. + + + + + Finds the Return Type of a Delegate. + + + + + Returns an Array of Types that make up a delegate's parameter signature. + + + + + Returns an array of types appended with an EventRecorder reference at the beginning. + + + + + Returns T/F Dependent on a Type Being a Delegate. + + + + + Returns the MethodInfo for the Delegate's "Invoke" Method. + + + + + Provides extension methods for monitoring and querying events. + + + + + Starts monitoring an object for its events. + + Thrown if eventSource is Null. + + + + Asserts that an object has raised a particular event at least once. + + + The name of the event that should have been raised. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has raised a particular event at least once. + + + The name of the event that should have been raised. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised a particular event. + + + The name of the event that should not be raised. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised a particular event. + + + The name of the event that should not be raised. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has raised the event for a particular property. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has raised the event for a particular property. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised the event for a particular property. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised the event for a particular property. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that all occurences of the event originated from the . + + + + + Asserts that at least one occurrence of the event had an object matching a predicate. + + + + + Records activity for a single event. + + + + + Records raised events for one event on one object + + + + + Store information about a raised event + + Parameters the event was raised with + + + + The object events are recorded from + + + + + The name of the event that's recorded + + + + + + The object events are recorded from + The name of the event that's recorded + + + + Enumerate raised events + + + + + Enumerate raised events + + + + + + Called by the auto-generated IL, to record information about a raised event. + + + + + The object events are recorded from + + + + + The name of the event that's recorded + + + + + Simple dictionary that uses a to the event source as the key. + This should ensure the Garbage Collector can still clean-up the event source object. + + + + + This class is used to store data about an intercepted event + + + + + Default constructor stores the parameters the event was raised with + + + + + Parameters for the event + + + + + Helper class for verifying a condition and/or throwing a test harness specific exception representing an assertion failure. + + + + + Asserts that the supplied is met. + + The condition to assert. + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . +
+ + + Asserts that the supplied is met. + + The condition to assert. + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . +
+ + + Handles an assertion failure. + + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ Any additional placeholders are allowed and will be satisfied using the . + + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . + + Optional arguments to satisfy any additional placeholders in the + +
+ + + Gets an object that wraps and executes a conditional or unconditional verification. + + + + + Determines whether this instance can handle the specified value. + + The value. + + true if this instance can handle the specified value; otherwise, false. + + + + + Returns a that represents this instance. + + The value. + + A that represents this instance. + + + + + Provides services for formatting an object being used in an assertion in a human readable format. + + + + + A list of objects responsible for formatting the objects represented by placeholders. + + + + + Returns a human-readable representation of a particular object. + + + + + Returns a human-readable representation of a particular object that starts on a new line. + + + + + Provides a fluent API for verifying an arbitrary condition. + + + + + Initializes a new instance of the class. + + + + + Gets the name or identifier of the current subject, or a default value if the subject is not known. + + + + + Define the failure message for the verification. + + + If the contains the text "{reason}", this will be replaced by the reason as + defined through . Only 10 are supported in combination with + a {reason}. + + The format string that represents the failure message. + Optional arguments for the + + + + Indicates that every argument passed into is displayed on a separate line. + + + + + Gets or sets the name of the subject for the next verification. + + +
+
diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/FluentAssertions.Silverlight.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/FluentAssertions.Silverlight.dll new file mode 100644 index 000000000..60dc367ba Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/FluentAssertions.Silverlight.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/FluentAssertions.Silverlight.xml b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/FluentAssertions.Silverlight.xml new file mode 100644 index 000000000..ad4a6a2db --- /dev/null +++ b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/FluentAssertions.Silverlight.xml @@ -0,0 +1,2777 @@ + + + + FluentAssertions.Silverlight + + + + + Initializes a new instance of the class. + + + + + Contains extension methods for custom assertions in unit tests. + + + + + Invokes the specified action on an subject so that you can chain it with any of the ShouldThrow or ShouldNotThrow + overloads. + + + + + Asserts that the throws an exception. + + + The type of the exception it should throw. + + + Returns an object that allows asserting additional members of the thrown exception. + + + + + Asserts that the throws an exception. + + + The type of the exception it should throw. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + Returns an object that allows asserting additional members of the thrown exception. + + + + + Asserts that the does not throw a particular exception. + + + The type of the exception it should not throw. Any other exceptions are ignored and will satisfy the assertion. + + + + + Asserts that the does not throw a particular exception. + + + The type of the exception it should not throw. Any other exceptions are ignored and will satisfy the assertion. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the does not throw any exception at all. + + + + + Asserts that the does not throw any exception at all. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Forces enumerating a collection. Should be used to assert that a method that uses the + yield keyword throws a particular exception. + + + + + Forces enumerating a collection. Should be used to assert that a method that uses the + yield keyword throws a particular exception. + + + + + Asserts that the properties of an object matches those of another object. + + + + + Safely casts the specified object to the type specified through . + + + Has been introduced to allow casting objects without breaking the fluent API. + + + + + + Asserts that the current throws an exception of type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current does not throw an exception of type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current does not throw any exception. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is false. + + + + + Asserts that the value is false. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is true. + + + + + Asserts that the value is true. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the value is equal to the specified value. + + + + + Asserts that the value is equal to the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the object is assignable to a variable of type . + + The type to which the object should be assignable. + An which can be used to chain assertions. + + + + Asserts that the object is assignable to a variable of type . + + The type to which the object should be assignable. + The reason why the object should be assignable to the type. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the is statisfied. + + The predicate which must be satisfied by the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + The reason why the predicate should be satisfied. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + An which can be used to chain assertions. + + + + Asserts that the is satisfied. + + The predicate which must be statisfied by the . + The reason why the predicate should be satisfied. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Gets the object which value is being asserted. + + + + + Asserts that the number of items in the collection matches the supplied amount. + + + + + Asserts that the number of items in the collection matches the supplied amount. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the collection matches a condition stated by the . + + + + + Asserts that the number of items in the collection matches a condition stated by the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any items. + + + + + Asserts that the collection does not contain any items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection contains at least 1 item. + + + + + Asserts that the collection contains at least 1 item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any duplicate items. + + + + + Asserts that the collection does not contain any duplicate items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection does not contain any null items. + + + + + Asserts that the collection does not contain any null items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection not to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + + + Expects the current collection not to contain all the same elements in the same order as the collection identified by + . Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection not to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + + + Expects the current collection not to contain all elements of the collection identified by , + regardless of the order. Elements are compared using their . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection only contains items that are assignable to the type . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain the specified elements in any order. Elements are compared + using their implementation. + + + + + Expects the current collection to contain the specified elements in any order. Elements are compared + using their implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Expects the current collection to contain the specified elements in the exact same order. Elements are compared + using their implementation. + + + + + Expects the current collection to contain the specified elements in the exact same order. Elements are compared + using their implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection is a subset of the . + + + + + Asserts that the collection is a subset of the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection is not a subset of the . + + + + + Asserts that the collection is not a subset of the . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Assert that the current collection has the same number of elements as . + + + + + Assert that the current collection has the same number of elements as . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has not been initialized yet with an actual collection. + + + + + Asserts that the current collection has not been initialized yet with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has been initialized with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has been initialized with an actual collection. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection has the supplied at the + supplied . + + + + + Asserts that the current collection has the supplied at the + supplied . + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current collection only contains items that are assignable to the type . + + + + + Asserts that the current collection does not contain the supplied item. + + + + + Asserts that the current collection does not contain the supplied item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is considered equal to another object according to the implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is considered equal to another object according to the implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is not equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is not equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is less than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is less than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is greater than another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is greater than another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the subject is greater than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + + + Asserts that the subject is greater than or equal to another object according to its implementation of . + + + The object to pass to the subject's method. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is not null. + + + + + Asserts that a nullable numeric value is not null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is null. + + + + + Asserts that a nullable numeric value is null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Defines the way compares the expected exception + message with the actual one. + + + + + The message must match exactly, including the casing of the characters. + + + + + The message must contain the expected message. + + + + + The message must match a wildcard pattern consisting of ordinary characters as well as * and ?. + + + + + Asserts that the current is exactly equal to the value. + + + + + Asserts that the current is exactly equal to the value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is before the specified value. + + + + + Asserts that the current is before the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is either on, or before the specified value. + + + + + Asserts that the current is either on, or before the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is after the specified value. + + + + + Asserts that the current is after the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current is either on, or after the specified value. + + + + + Asserts that the current is either on, or after the specified value. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the year. + + + + + Asserts that the current has the year. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the month. + + + + + Asserts that the current has the month. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the day. + + + + + Asserts that the current has the day. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the hour. + + + + + Asserts that the current has the hour. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the minute. + + + + + Asserts that the current has the minute. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current has the second. + + + + + Asserts that the current has the second. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Returns a object that can be used to assert that the current + exceeds the specified compared to another . + + + The amount of time that the current should exceed compared to another . + + + + + Returns a object that can be used to assert that the current + is equal to or exceeds the specified compared to another . + + + The amount of time that the current should be equal or exceed compared to + another . + + + + + Returns a object that can be used to assert that the current + differs exactly the specified compared to another . + + + The amount of time that the current should differ exactly compared to another . + + + + + Returns a object that can be used to assert that the current + is within the specified compared to another . + + + The amount of time that the current should be within another . + + + + + Returns a object that can be used to assert that the current + differs at maximum the specified compared to another . + + + The maximum amount of time that the current should differ compared to another . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the thrown exception has a message that exactly matches the + + + The expected message of the exception. + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + Determines how the expected message is compared with the actual message. + + + + + Asserts that the thrown exception has a message that matches + depending on the specified matching mode. + + + The expected message of the exception. + + + Determines how the expected message is compared with the actual message. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the thrown exception contains an inner exception of type . + + The expected type of the inner exception. + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception of type . + + The expected type of the inner exception. + The reason why the inner exception should be of the supplied type. + The parameters used when formatting the . + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception with the . + + The expected message of the inner exception. + An which can be used to chain assertions. + + + + Asserts that the thrown exception contains an inner exception with the . + + The expected message of the inner exception. + + The reason why the message of the inner exception should match . + + The parameters used when formatting the . + + + + Asserts that the exception matches a particular condition. + + + The condition that the exception must match. + + + + + Asserts that the exception matches a particular condition. + + + The condition that the exception must match. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Gets the exception object of the exception thrown. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts a floating point value approximates another value as close as possible. + + + The expected value to compare the actual value with. + + + The maximum amount of which the two values may differ. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the collection contains the specified item. + + + + + Asserts that the collection contains the specified item. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection contains some extra items in addition to the original items. + + + + + Asserts that the collection contains at least one item that matches the predicate. + + + + + Asserts that the collection contains at least one item that matches the predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection only contains items that match a predicate. + + + + + Asserts that the collection only contains items that match a predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the collection does not contain any items that match the predicate. + + + + + Asserts that the collection does not contain any items that match the predicate. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that the current dictionary has not been initialized yet with an actual dictionary. + + + + + Asserts that the current dictionary has not been initialized yet with an actual dictionary. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary has been initialized with an actual dictionary. + + + + + Asserts that the current dictionary has been initialized with an actual dictionary. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the dictionary matches the supplied amount. + + + The expected amount. + + + + + Asserts that the number of items in the dictionary matches the supplied amount. + + + The expected amount. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the number of items in the dictionary matches a condition stated by a predicate. + + + The predicate which must be statisfied by the amount of items + + + + + Asserts that the number of items in the dictionary matches a condition stated by a predicate. + + + The predicate which must be statisfied by the amount of items + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary does not contain any items. + + + + + Asserts that the dictionary does not contain any items. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains at least 1 item. + + + + + Asserts that the dictionary contains at least 1 item. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The expected dictionary + + + + + Asserts that the current dictionary contains all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The expected dictionary + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts the current dictionary not to contain all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The unexpected dictionary + + + + + Asserts the current dictionary not to contain all the same key-value pairs as the + specified dictionary. Keys and values are compared using + their implementation. + + + The unexpected dictionary + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains the specified key. Keys are compared using + their implementation. + + + The expected key + + + + + Asserts that the dictionary contains the specified key. Keys are compared using + their implementation. + + + The expected key + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains all of the specified keys. Keys are compared using + their implementation. + + + The expected keys + + + + + Asserts that the dictionary contains all of the specified keys. Keys are compared using + their implementation. + + + The expected keys + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified key. + Keys are compared using their implementation. + + + The unexpected key + + + + + Asserts that the current dictionary does not contain the specified key. + Keys are compared using their implementation. + + + The unexpected key + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains the specified value. Values are compared using + their implementation. + + + The expected value + + + + + Asserts that the dictionary contains the specified value. Values are compared using + their implementation. + + + The expected value + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the dictionary contains all of the specified values. Values are compared using + their implementation. + + + The expected values + + + + + Asserts that the dictionary contains all of the specified values. Values are compared using + their implementation. + + + The expected values + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified value. + Values are compared using their implementation. + + + The unexpected value + + + + + Asserts that the current dictionary does not contain the specified value. + Values are compared using their implementation. + + + The unexpected value + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains the specified . + Keys and values are compared using their implementation. + + + The to look for + + + + + Asserts that the current dictionary contains the specified . + Keys and values are compared using their implementation. + + + The to look for + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary contains the specified for the supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + + + Asserts that the current dictionary contains the specified for the supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified . + Keys and values are compared using their implementation. + + + The to look for + + + + + Asserts that the current dictionary does not contain the specified . + Keys and values are compared using their implementation. + + + The to look for + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that the current dictionary does not contain the specified for the + supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + + + Asserts that the current dictionary does not contain the specified for the + supplied . Values are compared using their implementation. + + + The key for which to validate the value + + + The value to validate + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + + + Asserts that a value is within a range. + + + Where the range is continuous or incremental depends on the actual type of the value. + + + The minimum valid value of the range. + + + The maximum valid value of the range. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is not null. + + + + + Asserts that a nullable numeric value is not null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a nullable numeric value is null. + + + + + Asserts that a nullable numeric value is null. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Asserts that the value of an object equals another object when using it's method. + + + + + Asserts that an object equals another object using its implementation. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that an object does not equal another object using it's method. + + + + + Asserts that an object does not equal another object using it's method. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object reference refers to the exact same object as another object reference. + + + + + Asserts that an object reference refers to the exact same object as another object reference. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object reference refers to a different object than another object reference refers to. + + + + + Asserts that an object reference refers to a different object than another object reference refers to. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that an object can be serialized and deserialized using the XML serializer and that it stills retains + the values of all properties. + + + + + Asserts that an object can be serialized and deserialized using the XML serializer and that it stills retains + the values of all properties. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Provides methods for selecting one or properties of an object and comparing them with another object. + + + + + Includes all properties of when comparing the subject with another object using . + + + + + Includes all properties of including those of the run-time type when comparing the subject + with another object using . + + + + + Includes all properties of when comparing the subject with another object using , + except those that the other object does not have. + + + + + Includes all properties of when comparing the subject with another object using , + except those specified using a property expression. + + + + + Includes only those properties of when comparing the subject with another object using + that were specified using a property expression. + + + + + Asserts that the previously selected properties of have the same value as the equally named + properties of . + + + Property values are considered equal if, after converting them to the requested type, calling + returns true. + + + + + Asserts that the previously selected properties of have the same value as the equally named + properties of . + + + Property values are considered equal if, after converting them to the requested type, calling + returns true. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Gets the object which value is being asserted. + + + + + Is responsible for validating the equality of one or more properties of a subject with another object. + + + + + Initializes a new instance of the class. + + + + + Asserts that a string is equal to another string. + + + The expected string. + + + + + Asserts that a string is exactly the same as another string, including the casing and any leading or trailing whitespace. + + + The expected string. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string is exactly the same as another string, including any leading or trailing whitespace, with + the exception of the casing. + + + The string that the subject is expected to be equivalent to. + + + + + Asserts that a string is exactly the same as another string, including any leading or trailing whitespace, with + the exception of the casing. + + + The string that the subject is expected to be equivalent to. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string matches a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + + + Asserts that a string does not match a wildcard pattern. + + + The wildcard pattern with which the subject is matched, where * and ? have special meanings. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string contains another (fragment of a) string. + + + The (fragement of a) string that the current string should contain. + + + + + Asserts that a string contains another (fragment of a) string. + + + The (fragement of a) string that the current string should contain. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Asserts that a string does not contain another (fragment of a) string. + + + The (fragement of a) string that the current string should not contain. + + + + + Asserts that a string does not contain another (fragment of a) string. + + + The (fragement of a) string that the current string should not contain. + + + A formatted phrase as is supported by explaining why the assertion + is needed. If the phrase does not start with the word because, it is prepended automatically. + + + Zero or more objects to format using the placeholders in . + + + + + Ensures that a string is neither null or empty. + + + + + Ensures that a string is neither null or empty. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is neither null or empty. + + + + + Ensures that a string is either null or empty. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is neither null nor empty nor white space + + + + + Ensures that a string is neither null nor empty nor white space + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Ensures that a string is either null or empty or white space + + + + + Ensures that a string is either null or empty or white space + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Gets the object which value is being asserted. + + + + + Dedicated class for comparing two strings and generating consistent error messages. + + + + + Gets or sets a value indicating whether the subject should not match the pattern. + + + + + Gets or sets a value indicating whether the matching process should ignore any casing difference. + + + + + Provides methods for asserting that two objects differ in certain ways. + + + + + Asserts that a occurs a specified amount of time before another . + + + The to compare the subject with. + + + + + Asserts that a occurs a specified amount of time before another . + + + The to compare the subject with. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Asserts that a occurs a specified amount of time after another . + + + The to compare the subject with. + + + + + Asserts that a occurs a specified amount of time after another . + + + The to compare the subject with. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + + + Provides the logic and the display text for a . + + + + + Returns a based on a number of milliseconds. + + + + + Returns a based on a number of seconds. + + + + + Returns a based on a number of minutes. + + + + + Returns a based on a number of hours. + + + + + Returns a based on a number of days. + + + + + Finds the first index at which the does not match the + string anymore, including the exact casing. + + + + + Finds the first index at which the does not match the + string anymore, accounting for the specified . + + + + + Gets the quoted three characters at the specified index of a string, including the index itself. + + + + + Replaces all characters that might conflict with formatting placeholders and newlines with their escaped counterparts. + + + + + Provides extension methods for monitoring and querying events. + + + + + Starts monitoring an object for its events. + + Thrown if eventSource is Null. + + + + Asserts that an object has raised the event for a particular property. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has raised the event for a particular property. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised the event for a particular property. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that an object has not raised the event for a particular property. + + + A formatted phrase explaining why the assertion should be satisfied. If the phrase does not + start with the word because, it is prepended to the message. + + + Zero or more values to use for filling in any compatible placeholders. + + + You must call on the same object prior to this call so that Fluent Assertions can + subscribe for the events of the object. + + + + + Asserts that all occurences of the event originated from the . + + + + + Asserts that at least one occurrence of the event had an object matching a predicate. + + + + + Records activity for a single event. + + + + + Records raised events for one event on one object + + + + + Store information about a raised event + + Parameters the event was raised with + + + + The object events are recorded from + + + + + The name of the event that's recorded + + + + + + The object events are recorded from + The name of the event that's recorded + + + + Enumerate raised events + + + + + Enumerate raised events + + + + + + Called by the auto-generated IL, to record information about a raised event. + + + + + The object events are recorded from + + + + + The name of the event that's recorded + + + + + Simple dictionary that uses a to the event source as the key. + This should ensure the Garbage Collector can still clean-up the event source object. + + + + + This class is used to store data about an intercepted event + + + + + Default constructor stores the parameters the event was raised with + + + + + Parameters for the event + + + + + Helper class for verifying a condition and/or throwing a test harness specific exception representing an assertion failure. + + + + + Asserts that the supplied is met. + + The condition to assert. + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . +
+ + + Asserts that the supplied is met. + + The condition to assert. + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . +
+ + + Handles an assertion failure. + + + The message that will be used in the exception. This should describe what was expected and why. This message + can contain the following three placeholders:
+ + {0} = the expected value + {1} = the actual value + {2} = a reason explaining the expectations +
+ Any additional placeholders are allowed and will be satisfied using the . + + + The expected value, or null if there is no explicit expected value. + + The actual value, or null if there is no explicit actual value. + Should describe the reason for the expectation. + Optional args for formatting placeholders in the . + + Optional arguments to satisfy any additional placeholders in the + +
+ + + Gets an object that wraps and executes a conditional or unconditional verification. + + + + + Determines whether this instance can handle the specified value. + + The value. + + true if this instance can handle the specified value; otherwise, false. + + + + + Returns a that represents this instance. + + The value. + + A that represents this instance. + + + + + Provides services for formatting an object being used in an assertion in a human readable format. + + + + + A list of objects responsible for formatting the objects represented by placeholders. + + + + + Returns a human-readable representation of a particular object. + + + + + Returns a human-readable representation of a particular object that starts on a new line. + + + + + Provides a fluent API for verifying an arbitrary condition. + + + + + Initializes a new instance of the class. + + + + + Gets the name or identifier of the current subject, or a default value if the subject is not known. + + + + + Define the failure message for the verification. + + + If the contains the text "{reason}", this will be replaced by the reason as + defined through . Only 10 are supported in combination with + a {reason}. + + The format string that represents the failure message. + Optional arguments for the + + + + Indicates that every argument passed into is displayed on a separate line. + + + + + Gets or sets the name of the subject for the next verification. + + +
+
diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll new file mode 100644 index 000000000..9313918b1 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.pdb b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.pdb new file mode 100644 index 000000000..6096960ba Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.pdb differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.xml b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.xml new file mode 100644 index 000000000..f8009f509 --- /dev/null +++ b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.xml @@ -0,0 +1,3429 @@ + + + + Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight + + + + + UrlToTest specifies the url that should be requested to give context to the test. + + + + + An unused attribute. + + + + + + Gets the URL to test. + + + + + AspNetDevelopmentServer specifies the settings to be used for the + ASP.NET Development Server for the test. + + + + + Initializes the AspNetDevelopmentServerAttribute. + + The name. + The path to web app. + + + + Initializes the AspNetDevelopmentServerAttribute. + + The name. + The path to web app. + The web app root. + + + + Gets the name. + + + + + Gets the PathToWebApp. + + + + + Gets the web app root. + + + + + AspNetDevelopmentServerHost specifies the settings to be used when + ASP.NET Development Server is the host server for the test. + + + + + Initializes the AspNetDevelopmentServerHostAttribute. + + The path to the web app. + + + + Initializes the AspNetDevelopmentServerHostAttribute. + + The path to the web app. + The web app root. + + + + Gets the path to the web application. + + + + + Gets the WebAppRoot. + + + + + For ASP.NET sites that require basic authentication, specify the + user name and password using the Credential attribute. + WARNING: The password is stored in plain text in source code + and in the compiled assembly. Restrict access to the source code + and assembly to protect this sensitive information. + + + + + Specify the user name and password needed to access the web site under test. + + The user name. + + The password. WARNING: The password is stored in plain text in source code + and in the compiled assembly. Restrict access to the source code and assembly + to protect this sensitive information. + + + + + Specify the user name, password, and domain needed to access the web site under test. + + The user name. + + The password. WARNING: The password is stored in plain text in source code + and in the compiled assembly. Restrict access to the source code and assembly + to protect this sensitive information. + + The domain. + + + + Gets the user name. + + + + + Gets the password. + + + + + Gets the domain. + + + + + Base class for Framework Exceptions, provides localization trick so that messages are in HA locale. + + + + + Initializes a new UnitTestAssertException. + + + + + Initializes UnitTestAssertException. + + The message. + + + + Gets the Message string. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new AssertFailedException. + + The message. + + + + AssertFailedException + + The message. + The inner exception. + + + + The AssertInconclusiveException class. + + + + + Initializes a new AssertInconclusiveException. + + The message. + + + + Initializes a new AssertInconclusiveException. + + The message. + The inner exception. + + + + Initializes a new AssertInconclusiveException. + + + + + InternalTestFailureException class. Used to indicate internal failure + for a test case. + + + + + Initializes a new InternalTestFailureException. + + The message. + + + + Initializes a new InternalTestFailureException. + + The message. + The inner exception. + + + + Initializes a new InternalTestFailureException. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + The condition the test expects to be true. + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + The condition the test expects to be true. + + The message to include in the exception when + is false. The message is shown in test results. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + The condition the test expects to be true. + + The message to include in the exception when + is false. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is false. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + The condition the test expects to be false. + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + The condition the test expects to be false. + + The message to include in the exception when + is true. The message is shown in test results. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + The condition the test expects to be false. + + The message to include in the exception when + is true. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is true. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + The object the test expects to be null. + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + The object the test expects to be null. + + The message to include in the exception when + is not null. The message is shown in test results. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + The object the test expects to be null. + + The message to include in the exception when + is not null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + The object the test expects not to be null. + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + The object the test expects not to be null. + + The message to include in the exception when + is null. The message is shown in test results. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + The object the test expects not to be null. + + The message to include in the exception when + is null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null. + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + The type of values to compare. + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Helper function that creates and throws an AssertionFailedException. + + name of the assertion throwing an exception. + message describing conditions for assertion failure. + The parameters. + + + + Checks the parameter for valid conditions + + The parameter. + The assertion name. + The parameter name. + The message. + The parameters. + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + The object to convert to a string. + The converted string. + + + + Replaces null characters ('\0') with "\\0". + + The string to search. + The converted string with null characters replaced by "\\0". + + + + An exception from reflection will always be a TargetInvocationException - however + the goal of Private Accessors is to be seamless to the original code. + The only problem with throwing the inner exception is that the stack trace will + be overwritten. From here we register the stack trace of the inner exception + and then throw it. The Unit Test Adapter will then later rebuild the stack + from the cached shadow information plus the remaining stack from this throw. + + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Constructs a dictionary containing the number of occurrences of each + element in the specified collection. + + + The collection to process. + + + The number of null elements in the collection. + + + A dictionary containing the number of occurrences of each element + in the specified collection. + + + + + Determines whether the first collection is a subset of the second + collection. If either set contains duplicate elements, the number + of occurrences of the element in the subset must be less than or + equal to the number of occurrences in the superset. + + + The collection the test expects to be contained in . + + + The collection the test expects to contain . + + + True if is a subset of + , false otherwise. + + + + + Finds a mismatched element between the two collections. A mismatched + element is one that appears a different number of times in the + expected collection than it does in the actual collection. The + collections are assumed to be different non-null references with the + same number of elements. The caller is responsible for this level of + verification. If there is no mismatched element, the function returns + false and the out parameters should not be used. + + The first collection to compare. + The second collection to compare. + + The expected number of occurrences of + or 0 if there is no mismatched + element. + + + The actual number of occurrences of + or 0 if there is no mismatched + element. + + + The mismatched element (may be null) or null if there is no + mismatched element. + + + true if a mismatched element was found; false otherwise. + + + + + compares the objects using object.Equals + + + + + This class is designed to help user doing unit testing. + GenericParameterHelper satisfies some comment generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable, ICloneable + + + + + + public default constructor, satisfies the constraint in C# generics. + This constructor initializes the Data property to a random value. + + + + + This constructor initializes the Data property to a user-supplied value + + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hash code for this object. + + + + + + Compares to the object. + + + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + + + + + Returns a GenericParameterHelper object that is equal to + 'this' one. + + + + + + Gets or sets the Data property. + + + + + Provides method signature discovery for generic methods. + + + + + Given a set of methods that match the base criteria, select a method based + upon an array of types. This method should return null if no method matches + the criteria. + + + + + Set of string assertions. + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + TestContext class. This class should be fully abstract and not contain any + members. The adapter will implement the members. Users in the framework should + only access this via a well-defined interface. + + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + Adds a file name to the list in TestResult.ResultFileNames + + + + + Begins a timer with the specified name + + + + + Ends a timer with the specified name + + + + + Per test properties + + + + + + Current data row when test is used for data driven testing. + + + + + Current data connection row when test is used for data driven testing. + + + + + Gets the test logs directory. + + + + + Gets the test directory. + + + + + Gets the test deployment directory. + + + + + Gets the test name. + + + + + Gets the CurrentTestOutcome. + + + + + Outcome of a test or a run. + If a new successful state needs to be added you will need to modify + RunResultAndStatistics in TestRun and TestOutcomeHelper below. + + NOTE: the order is important and is used for computing outcome for aggregations. + More important outcomes come first. See TestOutcomeHelper.GetAggregationOutcome. + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests... + + + + + Test was executed w/o any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + The data row. + + + + + The database connection. + + + + + Marks a test class. + + + + + Initializes a new test class attribute. + + + + + Marks a test method. + + + + + Initializes a new TestMethodAttribute. + + + + + A method marker called before a test method runs. + + + + + Initializes a new TestInitializeAttribute. + + + + + A method marker called after a test method runs. + + + + + Initializes a new TestCleanupAttribute. + + + + + Ignores a unit test. + + + + + Initializes a new IgnoreAttribute. + + + + + The ExpectedExceptionAttribute. + + + + + Initializes the ExpectedExceptionAttribute. + + The exception type. + + + + Initializes the ExpectedExceptionAttribute. + + The exception type. + The message. + + + + Gets the exception type. + + + + + Gets the message. + + + + + The test property attribute. + + + + + Initializes the TestPropertyAttribute. + + + + + + + Gets the name. + + + + + Gets the value. + + + + + The ClassInitializeAttribute. + + + + + Initializes the ClassInitializeAttribute. + + + + + The ClassCleanupAttribute. + + + + + Initializes the ClassCleanupAttribute. + + + + + The AssemblyInitializeAttribute. + + + + + Initializes the AssemblyInitializeAttribute. + + + + + The AssemblyCleanupAttribute. + + + + + Initializes the AssemblyCleanupAttribute. + + + + + Description of the test. + + + + + Initializes the DescriptionAttribute. + + The description. + + + + Gets the description. + + + + + The OwnerAttribute. + + + + + Initializes the OwnerAttribute. + + The owner. + + + + Gets the owner. + + + + + CSS Project Structure URI. + + + + + Initializes the CSS Project Structure URI. + + The structure. + + + + Gets the property structure. + + + + + CSS Iteration URI + + + + + Initializes the CssIterationAttribute. + + The parameter. + + + + Gets the CssIteration. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes the PriorityAttribute. + + The priority. + + + + Gets the Priority. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes the TimeoutAttribute. + + + + + + Gets the Timeout. + + + + + WorkItem attribute; used to specify a work item associated with this test. + + + + + Initializes the WorkItemAttribute. + + + + + + Gets the ID. + + + + + HostType specifies the type of host that this unit test will + run in. + + + + + Initializes the host type attribute. + + + + + + Constructor of HostTypeAttribute. + + The type of the host. + Custom data for the host adapter. + + + The reason this is string (and not object) is that currently CMI cannot parse arbitrary instances of object and we deprioritized changing CMI. + + + + Gets the host type. + + + + + Gets the host data. + + + + + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initializes DeploymentItemAttribute. + + The path. + + + + Initializes DeploymentItemAttribute. + + The path. + The output directory. + + + + Verifiable interface. + + + + + The IsValid method. + + Returns a value. + + + diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/System.Xml.Serialization.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/System.Xml.Serialization.dll new file mode 100644 index 000000000..8a9c3f30f Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/System.Xml.Serialization.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/System.Xml.Serialization.xml b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/System.Xml.Serialization.xml new file mode 100644 index 000000000..069488dda --- /dev/null +++ b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/System.Xml.Serialization.xml @@ -0,0 +1,1633 @@ + + + + System.Xml.Serialization + + + + Instructs the Silverlight version 4 Release Candidate infrastructure to use the instead of the to serialize a method or class. + + + Initializes a new instance of the class. + + + Gets or sets the SOAP style of the . + One of the values. The default is . + + + Gets or sets a value that indicates whether faults are supported. + true if faults are supported; otherwise, false. + + + Controls run-time behavior of the associated with an operation. + + + When implemented in a derived class, adds a set of parameters to an operation description. + The target . + A that contains the parameters. + + + Applies a client's behavior to the operation. + A that represents the operation. + A that represents a client operation. + + or is null. + + + Applies a dispatch behavior to the operation. + The target . + The to apply. + + or is null. + + + When implemented in a derived class, validates the operation. + The target to validate. + + + Represents a collection of objects. + + + Initializes a new instance of the class. + + + Represents a collection of objects. + The index of the added item. + The to add to the collection. + + + Removes all objects from the collection. + + + Determines whether the collection contains a specified . + true if the collection contains the specified ; otherwise, false. + The to check for. + + + Copies an array to the collection, starting at a specified target index. + The array of objects to copy to the collection. + The zero-based index in the array at which the copying begins. + + + Gets the number of attributes contained in the collection. + The number of attributes contained in the collection. + + + Returns an that can iterate through the collection. + An object that can iterate through the collection. + + + Returns the zero-based index of the first occurrence of a specified in the collection, or -1 if the attribute is not found in the collection. + The first index of the in the collection, or -1 if the attribute is not found in the collection. + + The to locate in the collection. + + + Inserts an into the collection at the specified index. + + The zero-based index at which the attribute is inserted. + The to insert. + + + Gets or sets the attribute element at the specified index. + The at the specified index. + The zero-based index of the attribute element to get or set. + The is not valid for the collection; it is either too large or less than zero. + + + Removes a specified from the collection, if it is present. + The to remove. + + + Removes an item at a specified index from the collection. + The zero-based index of the item to remove. + + + Copies the elements from the attribute collection to an array, starting at a specified index of the array. + The one-dimensional destination for the attribute elements copied from the collection. + The zero-based index in array at which copying begins. + The is less than zero. + The is greater than the length of the array, the length of the array is exceeded when the attribute elements are added, or the is multidimensional. + + + Gets a value that indicates whether access to the attribute collection is synchronized (thread safe). + true if the collection is synchronized (thread safe); otherwise, false. + + + This method is not supported. + Throws a . + + + Adds an item to the attribute list. + The position into which the new element was inserted. + The object to add to the list. + + + Determines whether the attribute list contains a specific value. + true if the object is found in the attribute list; otherwise, false. + The object to locate in the attribute list. + + + Determines the index of a specified item in the attribute list. + The index of the if found in the attribute list; otherwise, -1. + The object to locate in the attribute list. + + + Inserts an item in the list at a specified index. + The zero-based index at which value should be inserted. + The object to insert into the list. + The is not valid for the collection; it is either too large or less than zero. + + + Gets a value that indicates whether the list has a fixed size. + true if the list has a fixed size; otherwise, false. + + + Gets a value that indicates whether the list is read-only. + true if the list is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The zero-based index of the element to get or set. + The is not valid for the collection; it is either too large or less than zero. + + + Removes the first occurrence of a specific object from the list. + The object to remove from the list. + + + Represents a collection of objects. + + + Initializes a new instance of the class. + + + Adds an to the collection. + The index of the added item. + The to add to the collection. + + + Removes all objects from the collection. + + + Determines whether the collection contains a specified . + true if the collection contains the specified ; otherwise, false. + The to check for. + + + Copies an array to the collection, starting at a specified target index. + The array of objects to copy to the collection. + The zero-based index in the array at which the copying begins. + + + Gets the number of attributes contained in the collection. + The number of attributes contained in the collection. + + + Returns an that can iterate through the collection. + An object that can iterate through the collection. + + + Returns the zero-based index of the first occurrence of a specified in the collection, or -1 if the attribute is not found in the collection. + The first index of the in the collection, or -1 if the attribute is not found in the collection. + + The to locate in the collection. + + + Inserts an into the collection at the specified index. + + The zero-based index at which the attribute is inserted. + The to insert. + + + Gets or sets the attribute element at the specified index. + The at the specified index. + The zero-based index of the attribute element to get or set. + The is not valid for the collection; it is either too large or less than zero. + + + Removes a specified from the collection, if it is present. + The to remove. + + + Removes an item at a specified index from the collection. + The zero-based index of the item to remove. + + + Copies the elements from the attribute collection to an array, starting at a specified index of the array. + The one-dimensional destination for the attribute elements copied from the collection. + The zero-based index in array at which copying begins. + The is less than zero. + The is greater than the length of the array or the length of the array is exceeded when the attribute elements are added or the is multidimensional. + + + Gets a value that indicates whether access to the attribute collection is synchronized (thread safe). + true if the collection is synchronized (thread safe); otherwise, false. + + + This method is not supported. + Throws a . + + + Adds an item to the attribute list. + The position into which the new element was inserted. + The object to add to the list. + + + Determines whether the attribute list contains a specific value. + true if the object is found in the attribute list; otherwise, false. + The object to locate in the attribute list. + + + Determines the index of a specified item in the attribute list. + The index of the if found in the attribute list; otherwise, -1. + The object to locate in the attribute list. + + + Inserts an item in the list at a specified index. + The zero-based index at which value should be inserted. + The object to insert into the list. + The is not valid for the collection; it is either too large or less than zero. + + + Gets a value that indicates whether the list has a fixed size. + true if the list has a fixed size; otherwise, false. + + + Gets a value that indicates whether the list is read-only. + true if the list is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The zero-based index of the element to get or set. + The is not valid for the collection; it is either too large or less than zero. + + + Removes the first occurrence of a specific object from the list. + The object to remove from the list. + + + Allows you to override property, field, and class attributes when you use the to serialize or deserialize an object. + + + Initializes a new instance of the class. + + + Adds an object to the collection of objects. The parameter specifies an object to be overridden. The parameter specifies the name of a member that is overridden. + The of the object to override. + The name of the member to override. + An object that represents the overriding attributes. + More than one object was added for a member of some type. + + + + Adds an object to the collection of objects. The parameter specifies an object to be overridden by the object. + The of the object that is overridden. + An object that represents the overriding attributes. + More than one object was added for a member of some type. + + + Gets the object associated with the specified base-class type. + An that represents the collection of overriding attributes. + The base class that is associated with the collection of attributes you want to retrieve. + + + Gets the object associated with the specified base-class type. The parameter specifies the base-class member that is overridden. + An that represents the collection of overriding attributes. + The base class that is associated with the collection of attributes you want. + The name of the overridden member that specifies the to return. + + + Represents a collection of attribute objects that control how the serializes and deserializes an object. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class and customizes how the serializes and deserializes an object. + A class that can provide alternative implementations of attributes that control XML serialization. + + + Gets the collection of objects to override. + An object that represents the collection of objects. + + + Gets or sets an object that specifies how the serializes a public field or read/write property that returns an array. + An that specifies how the serializes a public field or read/write property that returns an array. + + + Gets or sets a collection of objects that specify how the serializes items inserted into an array returned by a public field or read/write property. + An object that contains a collection of objects. + + + Gets or sets an object that specifies how the serializes a public field or public read/write property as an XML attribute. + An that controls the serialization of a public field or read/write property as an XML attribute. + + + Gets or sets an object that allows you to distinguish between a set of choices. + An that can be applied to a class member that is serialized as an xsi:choice element. + + + Gets or sets the default value of an XML element or attribute. + An that represents the default value of an XML element or attribute. + + + Gets a collection of objects that specify how the serializes a public field or read/write property as an XML element. + An that contains a collection of objects. + + + Gets or sets an object that specifies how the serializes an enumeration member. + An that specifies how the serializes an enumeration member. + + + Gets or sets a value that specifies whether the serializes a public field or public read/write property. + true if the must not serialize the field or property; otherwise, false. + + + Gets or sets a value that specifies whether to keep all namespace declarations when an object that contains a member that returns an object is overridden. + true if the namespace declarations should be kept; otherwise, false. + + + Gets or sets an object that specifies how the serializes a class as an XML root element. + An that overrides a class attributed as an XML root element. + + + Gets or sets an object that instructs the to serialize a public field or public read/write property as XML text. + An that overrides the default serialization of a public property or field. + + + Gets or sets an object that specifies how the serializes a class to which the has been applied. + An that overrides an applied to a class declaration. + + + Represents a collection of objects used by the to override the default way it serializes a class. + + + Initializes a new instance of the class. + + + Adds an to the collection. + The index of the added item. + The to add to the collection. + + + Removes all objects from the collection. + + + Determines whether the collection contains a specified . + true if the collection contains the specified ; otherwise, false. + The to check for. + + + Copies an array to the collection, starting at a specified target index. + The array of objects to copy to the collection. + The zero-based index in the array at which the copying begins. + + + Gets the number of attributes contained in the collection. + The number of attributes contained in the collection. + + + Returns an that can iterate through the collection. + An object that can iterate through the collection. + + + Returns the zero-based index of the first occurrence of a specified in the collection, or -1 if the attribute is not found in the collection. + The first index of the in the collection, or -1 if the attribute is not found in the collection. + + The to locate in the collection. + + + Inserts an into the collection at the specified index. + + The zero-based index at which the attribute is inserted. + The to insert. + + + Gets or sets the attribute element at the specified index. + The at the specified index. + The zero-based index of the attribute element to get or set. + The is not valid for the collection; it is either too large or less than zero. + + + Removes a specified from the collection, if it is present. + The to remove. + + + Removes an item at a specified index from the collection. + The zero-based index of the item to remove. + + + Copies the elements from the attribute collection to an array, starting at a specified index of the array. + The one-dimensional destination for the attribute elements copied from the collection. + The zero-based index in array at which copying begins. + The is less than zero. + The is greater than the length of the array, the length of the array is exceeded when the attribute elements are added, or the is multidimensional. + + + Gets a value that indicates whether access to the attribute collection is synchronized (thread safe). + true if the collection is synchronized (thread safe); otherwise, false. + + + This method is not supported. + Throws a . + + + Adds an item to the attribute list. + The position into which the new element was inserted. + The object to add to the list. + + + Determines whether the attribute list contains a specific value. + true if the object is found in the attribute list; otherwise, false. + The object to locate in the attribute list. + + + Determines the index of a specified item in the attribute list. + The index of the if found in the attribute list; otherwise, -1. + The object to locate in the attribute list. + + + Inserts an item in the list at a specified index. + The zero-based index at which value should be inserted. + The object to insert into the list. + The is not valid for the collection; it is either too large or less than zero. + + + Gets a value that indicates whether the list has a fixed size. + true if the list has a fixed size; otherwise, false. + + + Gets a value that indicates whether the list is read-only. + + if the list is read-only; otherwise, . + + + Gets or sets the element at the specified index. + The element at the specified index. + The zero-based index of the element to get or set. + The is not valid for the collection; it is either too large or less than zero. + + + Removes the first occurrence of a specific object from the list. + The object to remove from the list. + + + Supports mappings between .NET Framework types and XML Schema data types. + + + Get the name of the mapped element. + The name of the mapped element. + + + Gets the namespace of the mapped element. + The namespace of the mapped element. + + + Sets the key used to look up the mapping. + The lookup key. + + + Gets the name of the XSD element of the mapping. + The XSD element name. + + + Specifies whether a mapping is read, write, or both. + + + Both read and write methods are generated. + + + Read methods are generated. + + + Write methods are generated. + + + Maps a code entity in a .NET Framework Web service method to an element in a Web Services Description Language (WSDL) message. + + + Gets or sets a value that indicates whether the .NET Framework type maps to an XML element or attribute of any type. + true, if the type maps to an XML any element or attribute; otherwise, false. + + + Gets a value that indicates whether the accompanying field in the .NET Framework type has a value specified. + true, if the accompanying field has a value specified; otherwise, false. + + + Gets the unqualified name of the XML element declaration that applies to this mapping. + The unqualified name of the XML element declaration that applies to this mapping. + + + Gets the name of the Web service method member that is represented by this mapping. + The name of the Web service method member represented by this mapping. + + + Gets the XML namespace that applies to this mapping. + The XML namespace that applies to this mapping. + + + Gets the fully qualified type name of the .NET Framework type for this mapping. + The fully qualified type name of the .NET Framework type for this mapping. + + + Gets the type name of the .NET Framework type for this mapping. + The type name of the .NET Framework type for this mapping. + + + Gets the namespace of the .NET Framework type for this mapping. + The namespace of the .NET Framework type for this mapping. + + + Gets the XML element name as it appears in the service description document. + The XML element name. + + + Provides mappings between .NET Framework Web service methods and Web Services Description Language (WSDL) messages that are defined for SOAP Web services. + + + Gets the number of .NET Framework code entities that belong to a Web service method to which a SOAP message is being mapped. + The number of mappings in the collection. + + + Gets an item that contains internal type mapping information for a .NET Framework code entity that belongs to a Web service method being mapped to a SOAP message. + The requested . + The index of the mapping to return. + + + Gets the name of the .NET Framework type being mapped to the data type of an XML Schema element that represents a SOAP message. + The name of the .NET Framework type. + + + Gets the namespace of the .NET Framework type being mapped to the data type of an XML Schema element that represents a SOAP message. + The .NET Framework namespace of the mapping. + + + Generates mappings to XML schema element declarations, including literal XML Schema Definition (XSD) message parts in a Web Services Description Language (WSDL) document for .NET Framework types or Web service method information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the specified default XML namespace. + The default XML namespace to use for imported type mappings. + + + Initializes a new instance of the class using the specified XML serialization overrides. + An object that overrides how the class serializes mapped types. + + + Initializes a new instance of the class using the specified XML serialization overrides and default XML namespace. + An object that overrides how the class serializes mapped types. + The default XML namespace to use for imported type mappings. + + + Generates internal type mappings for information from a Web service method. + An with mappings to the element parts of a WSDL message definition. + An XML element name produced from the Web service method. + An XML element namespace produced from the Web service method. + An array of objects that contain .NET Framework code entities that belong to a Web service method. + true if elements that correspond to Web Services Description Language (WSDL) message parts should be enclosed in an extra wrapper element in a SOAP message; otherwise, false. + + + Returns internal type mappings using information from a Web service method and allows you to specify an XML element name, XML namespace, and other options. + An that contains the mappings. + An XML element name produced from the Web service method. + An XML element namespace produced from the Web service method. + An array of objects that contain .NET Framework code entities that belong to a Web service method. + true if elements that correspond to Web Services Description Language (WSDL) message parts should be enclosed in an extra wrapper element in a SOAP message; otherwise, false. + true if the method is a remote procedure call; otherwise, false. + + + Returns internal type mappings using information from a Web service method and allows you to specify an XML element name, XML namespace, and other options. + An that contains the mappings. + An XML element name produced from the Web service method. + An XML element namespace produced from the Web service method. + An array of objects that contain .NET Framework code entities that belong to a Web service method. + true if elements that correspond to Web Services Description Language (WSDL) message parts should be enclosed in an extra wrapper element in a SOAP message; otherwise, false. + true if the method is a remote procedure call; otherwise, false. + true to specify that the generated schema type is marked with the <xs:anyAttribute> element; otherwise, false. + + + Generates internal type mappings for information from a Web service method. + An that contains the mappings. + An XML element name produced from the Web service method. + An XML element namespace produced from the Web service method. + An array of objects that contain .NET Framework code entities that belong to a Web service method. + true if elements that correspond to Web Services Description Language (WSDL) message parts should be enclosed in an extra wrapper element in a SOAP message; otherwise, false. + true if the method is a remote procedure call; otherwise, false. + true to specify that the generated schema type is marked with the <xs:anyAttribute> element; otherwise, false. + One of the values. The default is None. + + + Generates a mapping to an XML Schema element for a specified .NET Framework type. + Internal .NET Framework mapping of a type to an XML Schema element. + The .NET Framework type for which to generate a type mapping. + + + Generates a mapping to an XML Schema element for a .NET Framework type, using the specified type and namespace. + Internal .NET Framework mapping of a type to an XML Schema element. + The .NET Framework type for which to generate a type mapping. + The default XML namespace to use. + + + Generates a mapping to an XML Schema element for a .NET Framework type, using the specified type and attribute. + An that represents a mapping of a .NET Framework type to an XML Schema element. + The .NET Framework type for which to generate a type mapping. + An attribute that is applied to the type. + + + Generates a mapping to an XML Schema element for a .NET Framework type, using the specified type, attribute, and namespace. + An that contains the internal .NET Framework mapping of a type to an XML Schema element. + The .NET Framework type for which to generate a type mapping. + An attribute that is applied to the type. + The default XML namespace to use. + + + Includes mappings for a type for later use when import methods are invoked. + The .NET Framework type for which to save type mapping information. + + + Includes mappings for derived types for later use when import methods are invoked. + An instance of the class that contains custom attributes derived from the attribute. + + + Provides mappings between code entities in .NET Framework Web service methods and the content of Web Services Description Language (WSDL) messages that are defined for SOAP Web services. + + + Initializes a new instance of the class. + + + Gets or sets a value that indicates whether the represents a Web service method return value, as opposed to an output parameter. + true, if the member represents a Web service return value; otherwise, false. + + + Gets or sets the name of the Web service method member for this mapping. + The name of the Web service method. + + + Gets or sets the type of the Web service method member code entity that is represented by this mapping. + The of the Web service method member code entity that is represented by this mapping. + + + Gets or sets a value that indicates that the value of the corresponding XML element definition's isNullable attribute is false. + true to override the property; otherwise, false. + + + Gets or sets an with the collection of -related attributes that have been applied to the member code entity. + An that represents XML attributes that have been applied to the member code. + + + An abstract class that is the base class for and and that contains methods common to both of these types. + + + Initializes an instance of the class. + + + Controls deserialization by the class. + + + Initializes a new instance of the class. + + + Checks whether the deserializer has advanced. + The current count in a while loop. + The current . + The has not advanced. + + + Removes all occurrences of white space characters from the beginning and end of the specified string. + The trimmed string. + The string that has its white space trimmed. + + + Creates an that indicates that an object being deserialized should be abstract. + An exception. + The name of the abstract type. + The Silverlight namespace of the abstract type. + + + Populates an object from its XML representation at the current location of the , with an option to read the inner element. + An exception. + The local name of the derived XML Schema data type. + The namespace of the derived XML Schema data type. + The local name of the base XML Schema data type. + The namespace of the base XML Schema data type. + The namespace of the derived Silverlight type. + The name of the base Silverlight type. + + + Creates an that indicates that an object being deserialized cannot be instantiated because the constructor throws a security exception. + An exception. + The name of the type. + + + Creates an that indicates that an object being deserialized cannot be instantiated because there is no constructor available. + An exception. + The name of the type. + + + Creates an that indicates that an explicit reference conversion failed. + An exception. + The that an object cannot be cast to. This type is incorporated into the exception message. + The object that cannot be cast. This object is incorporated into the exception message. + + + Creates an that indicates that an explicit reference conversion failed. + An exception. + The that an object cannot be cast to. This type is incorporated into the exception message. + The object that cannot be cast. This object is incorporated into the exception message. + A string identifier. + + + Creates an that indicates that a derived type that is mapped to an XML Schema data type cannot be located. + An exception. + The local name of the XML Schema data type that is mapped to the unavailable derived type. + The namespace of the XML Schema data type that is mapped to the unavailable derived type. + The full name of the Silverlight base type for which a derived type cannot be located. + + + Creates an that indicates that a SOAP-encoded collection type cannot be modified and its values cannot be filled in. + An exception. + The fully qualified name of the Silverlight type for which there is a mapping. + + + Creates an that indicates that an enumeration value is not valid. + An exception. + The enumeration value that is not valid. + The enumeration type. + + + Creates an that indicates that the current position of represents an unknown XML node. + An exception. + + + Creates an that indicates that a type is unknown. + An exception. + An that represents the name of the unknown type. + + + Gets or sets a value that determines whether XML strings are translated into valid Silverlight type names. + true if XML strings are decoded into valid Silverlight type names; otherwise, false. + + + Ensures that a given array, or a copy, is large enough to contain a specified index. + The existing , if it is already large enough; otherwise, a new, larger array that contains the original array's elements. + The that is being checked. + The required index. + The of the array's elements. + + + Determines whether the XML element where the is currently positioned has a null attribute set to the value true. + true if is currently positioned over a null attribute with the value true; otherwise, false. + + + Gets the value of the xsi:type attribute for the XML element at the current location of the . + An XML qualified name that indicates the data type of an XML element. + + + Initializes callback methods that populate objects that map to SOAP-encoded XML data. + + + Stores element and attribute names in a object. + + + Gets or sets a value that should be true for a SOAP 1.1 return value. + true, if the value is a return value. + + + Determines whether an XML attribute name indicates an XML namespace. + true if the XML attribute name indicates an XML namespace; otherwise, false. + The name of an XML attribute. + + + Makes the read the fully qualified name of the element where it is currently positioned. + The fully qualified name of the current XML element. + + + Makes the read an XML end tag. + + + Gets the object that is being used by . + The that is being used by the . + + + Gets the current count of the . + The current count of an . + + + Instructs the to read the current XML element if the element has a null attribute with the value true. + true if the element has a null="true" attribute value and has been read; otherwise, false. + + + Instructs the to read the fully-qualified name of the element where it is currently positioned. + A that represents the fully qualified name of the current XML element; otherwise, null if a null="true" attribute value is present. + + + Instructs the to read a simple, text-only XML element that could be null. + The string value; otherwise, null. + + + Populates an object from its XML representation at the current location of the . + An object that implements the interface with its members populated from the location of the . + An that corresponds to the current position of the . + + + This method supports the .NET Framework infrastructure and is not intended to be used directly from your code. Populates an object from its XML representation at the current location of the . + An interface with its members populated from the location of the . + + An that corresponds to the current position of the . + true if any elements are wrapped; otherwise, false. + + + Produces the result of a call to the method appended to the input value. + The result of a call to the method appended to the input value. + A string to prefix to the result of a call to the method. + + + Returns the result of a call to the method of the class, trimmed of white space if required, and appended to the input value. + The result of the read operation appended to the input value. + A string that is appended to. + true if the result of the read operation should be trimmed; otherwise, false. + + + Reads an XML element that allows null values (xsi:nil = 'true') and returns a generic value. + A generic that represents a null XML value. + The that represents the simple data type for the current location of the . + + + Gets the value of the XML node at which the is currently positioned. + The value of the node as a Silverlight value type, if the value is a simple XML Schema data type. + The that represents the simple data type for the current location of the . + + + Ensures that a given array, or a copy, is no larger than a specified length. + The existing , if it is already small enough; otherwise, a new, smaller array that contains the original array's elements up to the size of. + The array that is being checked. + The maximum length of the array. + The of the array's elements. + true if null for the array, if present for the input array, can be returned; otherwise, a new, smaller array. + + + Instructs the to read the string value at its current position and return it as a base-64 byte array. + A base-64 byte array; otherwise, null if the value of the parameter is true. + true to return null; false to return a base-64 byte array. + + + Produces a base-64 byte array from an input string. + A base-64 byte array. + A string to translate into a base-64 byte array. + + + Instructs the to read the string value at its current position and return it as a hexadecimal byte array. + A hexadecimal byte array; otherwise, null if the value of the parameter is true. + true to return null; false to return a hexadecimal byte array. + + + Produces a hexadecimal byte array from an input string. + A hexadecimal byte array. + A string to translate into a hexadecimal byte array. + + + Produces a object from an input string. + A object. + A string to translate into a object. + + + Produces a object from an input string. + A object. + A string to translate into a class object. + + + Produces a object from an input string. + A object. + A string to translate into a object. + + + This method supports the .NET Framework infrastructure and is not intended to be used directly from your code. Produces a numeric enumeration value from a string that consists of delimited identifiers that represent constants from the enumerator list. + +A long value that consists of the enumeration value as a series of bitwise OR operations. + + A string that consists of delimited identifiers where each identifier represents a constant from the set enumerator list. + A hashtable that consists of the identifiers as keys and the constants as integral numbers. + The name of the enumeration type. + + + Produces a object from a string that represents the time. + A object. + A string to translate into a object. + + + Decodes an XML name. + A decoded string. + An XML name to be decoded. + + + Decodes an XML name. + A decoded string. + An XML name to be decoded. + + + Decodes an XML name. + A decoded string. + An XML name to be decoded. + + + Decodes an XML name. + A decoded string. + An XML name to be decoded. + + + Obtains an from a name that might contain a prefix. + An that represents a namespace-qualified XML name. + A name that might contain a prefix. + + + Raises an event for the current position of the . + The object that is being deserialized. + + + Raises an event for the current position of the . + The object being deserialized. + A comma-delimited list of XML qualified names. + + + Delegate supporting the .NET Framework infrastructure that is used by the class for serialization of types from SOAP-encoded, non-root XML data. + The object being serialized. + + + Abstract class used for controlling serialization by the class. + + + Initializes a new instance of the class. + + + Creates an that indicates an unexpected name for an element that adheres to an XML Schema choice element declaration. + An exception. + The name that is not valid. + The choice element declaration that the name belongs to. + The expected local name of an element. + The expected namespace of an element. + + + Creates an that indicates the has been invalidly applied to a member; only members that are of type , or derived from , are valid. + An exception. + The object that represents the invalid member. + + + Creates an that indicates the has been invalidly applied to a member; only members that are of type , or derived from , are valid. + An exception. + The that is invalid. + + + Creates an that indicates a failure while writing an array where an XML Schema choice element declaration is applied. + An exception. + The type being serialized. + A name for the choice element declaration. + + + Creates an for an invalid enumeration value. + An . + An object that represents the invalid enumeration. + The XML type name. + + + Creates an that indicates that a value for an XML element does not match an enumeration type. + An exception. + The value that is not valid. + The name of the XML element with an invalid value. + The valid value. + + + Creates an that indicates that an XML element that should adhere to the XML Schema any element declaration cannot be processed. + An exception. + The XML element that cannot be processed. + The namespace of the XML element. + + + Creates an that indicates that a type being serialized is not being used in a valid manner or is unexpectedly encountered. + An exception. + The object whose type cannot be serialized. + + + Creates an that indicates that a type being serialized is not being used in a valid manner or is unexpectedly encountered. + An exception. + The type that cannot be serialized. + + + Gets or sets a value that indicates whether the method is used to write valid XML. + true if the method returns an encoded name; otherwise, false. + + + Processes a base-64 byte array. + The same byte array that was passed in as an argument. + A base-64 array. + + + Produces a string from an input hexadecimal byte array. + The byte array value converted to a string. + A hexadecimal byte array to translate to a string. + + + Produces a string from an input . + The value converted to a string. + A to translate to a string. + + + Produces a string from a object. + A string representation of the that shows the date but no time. + A to translate to a string. + + + Produces a string from an input . + A string representation of the that shows the date and time. + A to translate to a string. + + + Produces a string that consists of delimited identifiers that represent the enumeration members that have been set. + A string that consists of delimited identifiers, where each represents a member from the set enumerator list. + The enumeration value as a series of bitwise OR operations. + The enumeration's name values. + The enumeration's constant values. + + + Takes a numeric enumeration value and the names and constants from the enumerator list for the enumeration and returns a string that consists of delimited identifiers that represent the enumeration members that have been set. + A string that consists of delimited identifiers, where each item is one of the values set by the bitwise operation. + The enumeration value as a series of bitwise OR operations. + The values of the enumeration. + The constants of the enumeration. + The name of the type. + + + Produces a string from a object. + The object that shows the time but no date. + A that is translated to a string. + + + Encodes a valid XML name by replacing characters that are not valid with escape sequences. + An encoded string. + A string to be used as an XML name. + + + Encodes a valid XML local name by replacing characters that are not valid with escape sequences. + An encoded string. + A string to be used as a local (unqualified) XML name. + + + Encodes an XML name. + An encoded string. + An XML name to be encoded. + + + Encodes a space-delimited sequence of XML names into a single XML name. + An encoded string. + A space-delimited sequence of XML names to be encoded. + + + Returns an XML qualified name, with invalid characters replaced by escape sequences. + An XML qualified name, with invalid characters replaced by escape sequences. + An that represents the XML to be written. + + + Produces a string that can be written as an XML qualified name, with invalid characters replaced by escape sequences. + An XML qualified name, with invalid characters replaced by escape sequences. + An that represents the XML to be written. + true to ignore empty spaces in the string; otherwise, false. + + + Initializes instances of the delegate to serialize SOAP-encoded XML data. + + + Initializes object references only while serializing a SOAP-encoded SOAP message. + + + Instructs an object to write an XML attribute that has no namespace specified for its name. + The local name of the XML attribute. + The value of the XML attribute as a byte array. + + + Instructs the to write an XML attribute that has no namespace specified for its name. + The local name of the XML attribute. + The value of the XML attribute as a string. + + + Instructs an object to write an XML attribute. + The local name of the XML attribute. + The namespace of the XML attribute. + The value of the XML attribute as a byte array. + + + Writes an XML attribute. + The local name of the XML attribute. + The namespace of the XML attribute. + The value of the XML attribute as a string. + + + Writes an XML attribute where the namespace prefix is provided manually. + The namespace prefix to write. + The local name of the XML attribute. + The namespace represented by the prefix. + The value of the XML attribute as a string. + + + Writes an XML element with a specified qualified name in its body. + The local name of the XML element. + The namespace of the XML element. + The name to write, using its prefix if namespace-qualified, in the element text. + + + Writes an XML element with a specified qualified name in its body. + The local name of the XML element. + The namespace of the XML element. + The name to write, using its prefix if namespace-qualified, in the element text. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element with a specified qualified name in its body. + The local name of the XML element. + The name to write, using its prefix if namespace-qualified, in the element text. + + + Writes an XML element with a specified qualified name in its body. + The local name of the XML element. + The name to write, using its prefix if namespace-qualified, in the element text. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element with a specified value in its body. + The local name of the XML element to be written without namespace qualification. + The text value of the XML element. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The namespace of the XML element. + The text value of the XML element. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The namespace of the XML element. + The text value of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The text value of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The text value of the XML element. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The text value of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The text value of the XML element. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The namespace of the XML element. + The text value of the XML element. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The namespace of the XML element. + The text value of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The namespace of the XML element. + The text value of the XML element. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The namespace of the XML element. + The text value of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element with a specified value in its body. + The local name of the XML element. + The text value of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element whose body is empty. + The local name of the XML element to write. + + + Writes an XML element whose body is empty. + The local name of the XML element to write. + The namespace of the XML element to write. + + + Writes a <closing> element tag. + + + Writes a <closing> element tag. + The object being serialized. + + + Writes namespace declaration attributes. + The XML namespaces to declare. + There is a duplicate namespace. + + + Writes an XML element whose body contains a valid XML qualified name. inserts an xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The XML qualified name to write in the body of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element whose body contains a valid XML qualified name. inserts an xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The XML qualified name to write in the body of the XML element. + + + Writes an XML element that contains a string as the body. inserts an xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The string to write in the body of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes a byte array as the body of an XML element. inserts an xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The byte array to write in the body of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element that contains a string as the body. inserts an xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The string to write in the body of the XML element. + The name of the XML Schema data type to be written to the xsi:type attribute. + + + Writes an XML element that contains a string as the body. inserts an xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The string to write in the body of the XML element. + + + Writes a byte array as the body of an XML element. inserts an xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The byte array to write in the body of the XML element. + + + Writes an XML element that contains a string as the body. inserts a xsi:nil='true' attribute if the string's value is null. + The local name of the XML element to write. + The namespace of the XML element to write. + The string to write in the body of the XML element. + + + Writes an XML element with an xsi:nil='true' attribute. + The local name of the XML element to write. + + + Writes an XML element with an xsi:nil='true' attribute. + The local name of the XML element to write. + The namespace of the XML element to write. + + + Writes an XML element with an xsi:nil='true' attribute. + The local name of the XML element to write. + + + Writes an XML element with an xsi:nil='true' attribute. + The local name of the XML element to write. + The namespace of the XML element to write. + + + Gets the that is being used by the . + The used by the class instance. + + + Writes an object that uses custom XML formatting as an XML element. + An object that implements the interface that uses custom XML formatting. + The local name of the XML element to write. + The namespace of the XML element to write. + true to write an xsi:nil='true' attribute if the class object is null; otherwise, false. + + + Instructs to write an object that uses custom XML formatting as an XML element. + An object that implements the interface that uses custom XML formatting. + The local name of the XML element to write. + The namespace of the XML element to write. + true to write an xsi:nil='true' attribute if the object is null; otherwise, false. + true to ignore writing the opening element tag; otherwise, false to write the opening element tag. + + + Writes the XML declaration if the writer is positioned at the start of an XML document. + + + Writes an opening element tag, including any attributes. + The local name of the XML element to write. + + + Writes an opening element tag, including any attributes. + The local name of the XML element to write. + The namespace of the XML element to write. + + + Writes an opening element tag, including any attributes. + The local name of the XML element to write. + The namespace of the XML element to write. + true to write the element name with a prefix if none is available for the specified namespace; otherwise, false. + + + Writes an opening element tag, including any attributes. + The local name of the XML element to write. + The namespace of the XML element to write. + The object being serialized as an XML element. + + + Writes an opening element tag, including any attributes. + The local name of the XML element to write. + The namespace of the XML element to write. + The object being serialized as an XML element. + true to write the element name with a prefix if none is available for the specified namespace; otherwise, false. + + + Writes an opening element tag, including any attributes. + The local name of the XML element to write. + The namespace of the XML element to write. + The object being serialized as an XML element. + true to write the element name with a prefix if none is available for the specified namespace; otherwise, false. + An instance of the class that contains prefix and namespace pairs to be used in the generated XML. + + + Writes an XML element whose text body is a value of a simple XML Schema data type. + The local name of the element to write. + The namespace of the element to write. + The object to be serialized in the element body. + true if the XML element explicitly specifies the text value's type using the xsi:type attribute; otherwise, false. + + + Writes a base-64 byte array. + The byte array to write. + + + Writes a specified string. + The string to write. + + + Writes an xsi:type attribute for an XML element that is being serialized into a document. + The local name of an XML Schema data type. + The namespace of an XML Schema data type. + + + Gets or sets a list of XML qualified name objects that contain the namespaces and prefixes used to produce qualified names in XML documents. + An that contains the namespaces and prefix pairs. + + + Serializes and deserializes objects into and from XML documents. The enables you to control how objects are encoded into XML. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class that can serialize objects of the specified type into XML documents and deserialize XML documents into objects of the specified type. + The type of the object that this can serialize. + + + Initializes a new instance of the class that can serialize objects of the specified type into XML documents and deserialize XML documents into objects of the specified type. Specifies the default namespace for all the XML elements. + The type of the object that this can serialize. + The default namespace to use for all the XML elements. + + + Initializes a new instance of the class that can serialize objects of the specified type into XML documents and deserialize XML documents into objects of a specified type. If a property or field returns an array, the parameter specifies objects that can be inserted into the array. + The type of the object that this can serialize. + A array of additional object types to serialize. + + + Initializes a new instance of the class that can serialize objects of the specified type into XML documents and deserialize XML documents into objects of the specified type. Each object to be serialized can itself contain instances of classes, which this overload can override with other classes. + The type of the object to serialize. + An . + + + Initializes a new instance of the class that can serialize objects of type into XML document instances and deserialize XML document instances into objects of type . Each object to be serialized can itself contain instances of classes, which this overload overrides with other classes. This overload also specifies the default namespace for all the XML elements and the class to use as the XML root element. + The type of the object that this can serialize. + An that extends or overrides the behavior of the class specified in the parameter. + A array of additional object types to serialize. + An that defines the XML root element properties. + The default namespace of all XML elements in the XML document. + + + Initializes a new instance of the class that can serialize objects of the specified type into XML documents and deserialize an XML document into object of the specified type. It also specifies the class to use as the XML root element. + The type of the object that this can serialize. + An that represents the XML root element. + + + Initializes an instance of the class using an object that maps one type to another. + An that maps one type to another. + + + Gets a value that indicates whether this can deserialize a specified XML document. + true if this can deserialize the object that the points to; otherwise, false. + An that points to the document to deserialize. + + + Returns an object used to read the XML document to be serialized. + An used to read the XML document. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + When overridden in a derived class, returns a writer used to serialize the object. + An instance that implements the class. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Deserializes the XML document contained by the specified . + The being deserialized. + The that contains the XML document to deserialize. + + + Deserializes the XML document contained by the specified . + The being deserialized. + The that contains the XML document to deserialize. + An error occurred during deserialization. The original exception is available using the property. + + + Deserializes the XML document contained by the specified . + The deserialized object. + The that contains the XML document to deserialize. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Deserializes the XML document contained by the specified . + The being deserialized. + The that contains the XML document to deserialize. + An error occurred during deserialization. The original exception is available using the property. + + + Returns an array of objects created from an array of objects. + An array of objects. + An array of that maps one type to another. + + + Returns an instance of the class from the specified mappings. + An instance of the class. + An array of objects. + The of the deserialized object. + + + Returns an array of objects created from an array of types. + An array of objects. + An array of objects. + + + Serializes the specified and writes the XML document to a file using the specified . + The used to write the XML document. + The to serialize. + An error occurred during serialization. The original exception is available using the property. + + + Serializes the specified and writes the XML document to a file using the specified that references the specified namespaces. + The used to write the XML document. + The to serialize. + The referenced by the object. + An error occurred during serialization. The original exception is available using the property. + + + Serializes the specified and writes the XML document to a file using the specified . + The used to write the XML document. + The to serialize. + + + Serializes the specified and writes the XML document to a file using the specified and references the specified namespaces. + The used to write the XML document. + The to serialize. + The that contains namespaces for the generated XML document. + An error occurred during serialization. The original exception is available using the property. + + + Serializes the specified and writes the XML document to a file using the specified . + The to serialize. + The used to write the XML document. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Serializes the specified and writes the XML document to a file using the specified . + The used to write the XML document. + The to serialize. + An error occurred during serialization. The original exception is available using the property. + + + Serializes the specified and writes the XML document to a file using the specified and references the specified namespaces. + The used to write the XML document. + The to serialize. + The referenced by the object. + An error occurred during serialization. The original exception is available using the property. + + + Defines the reader, writer, and methods for pre-generated, typed serializers. + + + Initializes a new instance of the class. + + + Gets a value that determines whether a type can be serialized. + true if the type can be serialized; otherwise, false. + The to be serialized. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Returns a serializer for the specified type. + An instance of a type derived from the class. + The to be serialized. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Gets the XML reader object that is used by the serializer. + An that is used to read an XML document or data stream. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Gets the XML writer object for the serializer. + An that is used to write to an XML data stream or document. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Gets the collection of methods that is used to read an XML data stream. + A that contains the methods. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Gets the collection of typed XML serializers found in the assembly. + A that contains the typed serializers. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Get the collection of methods used to write to an XML data stream. + A that contains the methods. + Any attempt is made to access the method when the method is not overridden in a descendant class. + + + Contains the XML namespaces and prefixes that the uses to generate qualified names in an XML-document instance. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class, using the specified instance of XmlSerializerNamespaces that contains the collection of prefix and namespace pairs. + An instance of the that contains the namespace and prefix pairs. + + + Initializes a new instance of the class. + An array of objects. + + + Adds a prefix and namespace pair to an object. + The prefix associated with an XML namespace. + An XML namespace. + + + Gets the number of prefix and namespace pairs in the collection. + The number of prefix and namespace pairs in the collection. + + + Gets the array of prefix and namespace pairs in an object. + An array of objects that are used as qualified names in an XML document. + + + Contains a mapping of one type to another. + + + The fully qualified type name that includes the namespace (or namespaces) and type. + The fully qualified type name. + + + Gets the type name of the mapped object. + The type name of the mapped object. + + + Gets the XML element name of the mapped object. + The XML element name of the mapped object. The default is the class name of the object. + + + Gets the XML namespace of the mapped object. + The XML namespace of the mapped object. The default is an empty string (""). + + + \ No newline at end of file diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/de/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/de/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..74f977949 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/de/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/es/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/es/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..834e783f5 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/es/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/fr/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/fr/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..15e4390ef Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/fr/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/it/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/it/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..f8c82e55b Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/it/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ja/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ja/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..05e8744cb Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ja/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ko/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ko/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..314645942 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ko/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ru/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ru/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..6fee7c12f Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/ru/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/zh-Hans/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/zh-Hans/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..2aac61b49 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/zh-Hans/System.Xml.Serialization.resources.dll differ diff --git a/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/zh-Hant/System.Xml.Serialization.resources.dll b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/zh-Hant/System.Xml.Serialization.resources.dll new file mode 100644 index 000000000..77991be28 Binary files /dev/null and b/packages/FluentAssertions.1.5.0.0/Lib/Silverlight 4.0/zh-Hant/System.Xml.Serialization.resources.dll differ diff --git a/packages/NBuilder.3.0.1/NBuilder.3.0.1.nupkg b/packages/NBuilder.3.0.1/NBuilder.3.0.1.nupkg new file mode 100644 index 000000000..c1f1be45d Binary files /dev/null and b/packages/NBuilder.3.0.1/NBuilder.3.0.1.nupkg differ diff --git a/packages/NBuilder.3.0.1/lib/FizzWare.NBuilder.dll b/packages/NBuilder.3.0.1/lib/FizzWare.NBuilder.dll new file mode 100644 index 000000000..4925809b1 Binary files /dev/null and b/packages/NBuilder.3.0.1/lib/FizzWare.NBuilder.dll differ diff --git a/packages/NBuilder.3.0.1/lib/Silverlight 3.0/FizzWare.NBuilder-Silverlight.dll b/packages/NBuilder.3.0.1/lib/Silverlight 3.0/FizzWare.NBuilder-Silverlight.dll new file mode 100644 index 000000000..cad1f60ab Binary files /dev/null and b/packages/NBuilder.3.0.1/lib/Silverlight 3.0/FizzWare.NBuilder-Silverlight.dll differ diff --git a/packages/repositories.config b/packages/repositories.config index 40652d947..c3ebed446 100644 --- a/packages/repositories.config +++ b/packages/repositories.config @@ -3,4 +3,6 @@ + + \ No newline at end of file