mirror of https://github.com/dapr/dotnet-sdk.git
				
				
				
			Clean ActorId (#121)
* Remove unused using * Updated parameter names * Summary spacing and extra text * Checking for null * Added ActorId tests and convert to xUnit test framework
This commit is contained in:
		
							parent
							
								
									02dd7eb814
								
							
						
					
					
						commit
						eba332e911
					
				|  | @ -6,7 +6,6 @@ | ||||||
| namespace Dapr.Actors | namespace Dapr.Actors | ||||||
| { | { | ||||||
|     using System; |     using System; | ||||||
|     using System.Globalization; |  | ||||||
|     using System.Runtime.Serialization; |     using System.Runtime.Serialization; | ||||||
| 
 | 
 | ||||||
|     /// <summary> |     /// <summary> | ||||||
|  | @ -20,50 +19,49 @@ namespace Dapr.Actors | ||||||
|         private readonly string stringId; |         private readonly string stringId; | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Initializes a new instance of the <see cref="ActorId"/> class with Id value of type <see cref="string"/>. |         /// Initializes a new instance of the <see cref="ActorId"/> class with id value of type <see cref="string"/>. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <param name="id">Value for actor id.</param> |         /// <param name="id">Value for actor id.</param> | ||||||
|         public ActorId(string id) |         public ActorId(string id) | ||||||
|         { |         { | ||||||
|             this.stringId = id ?? throw new ArgumentNullException("id"); |             this.stringId = id ?? throw new ArgumentNullException(nameof(id)); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Determines whether two specified actorIds have the same id. |         /// Determines whether two specified actorIds have the same id. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <param name="x">The first actorId to compare, or null. </param> |         /// <param name="id1">The first actorId to compare, or null.</param> | ||||||
|         /// <param name="y">The second actorId to compare, or null. </param> |         /// <param name="id2">The second actorId to compare, or null.</param> | ||||||
|         /// <returns>true if the id is same for both objects; otherwise, false.</returns> |         /// <returns>true if the id is same for both objects; otherwise, false.</returns> | ||||||
|         public static bool operator ==(ActorId x, ActorId y) |         public static bool operator ==(ActorId id1, ActorId id2) | ||||||
|         { |         { | ||||||
|             if (ReferenceEquals(x, null) && ReferenceEquals(y, null)) |             if (id1 is null && id2 is null) | ||||||
|             { |             { | ||||||
|                 return true; |                 return true; | ||||||
|             } |             } | ||||||
|             else if (ReferenceEquals(x, null) || ReferenceEquals(y, null)) |             else if (id1 is null || id2 is null) | ||||||
|             { |             { | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
|             else |             else | ||||||
|             { |             { | ||||||
|                 return EqualsContents(x, y); |                 return EqualsContents(id1, id2); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Determines whether two specified actorIds have different values for id./>. |         /// Determines whether two specified actorIds have different values for id./>. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <param name="x">The first actorId to compare, or null. </param> |         /// <param name="id1">The first actorId to compare, or null.</param> | ||||||
|         /// <param name="y">The second actorId to compare, or null. </param> |         /// <param name="id2">The second actorId to compare, or null.</param> | ||||||
|         /// <returns>true if the id is different for both objects; otherwise, true.</returns> |         /// <returns>true if the id is different for both objects; otherwise, true.</returns> | ||||||
|         public static bool operator !=(ActorId x, ActorId y) |         public static bool operator !=(ActorId id1, ActorId id2) | ||||||
|         { |         { | ||||||
|             return !(x == y); |             return !(id1 == id2); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Create a new instance of the <see cref="ActorId"/>./> |         /// Create a new instance of the <see cref="ActorId"/> with a random <see cref="long"/> id value. | ||||||
|         /// with a random <see cref="long"/> id value. |  | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <returns>A new ActorId object.</returns> |         /// <returns>A new ActorId object.</returns> | ||||||
|         /// <remarks>This method is thread-safe and generates a new random <see cref="ActorId"/> every time it is called.</remarks> |         /// <remarks>This method is thread-safe and generates a new random <see cref="ActorId"/> every time it is called.</remarks> | ||||||
|  | @ -79,7 +77,7 @@ namespace Dapr.Actors | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Gets id./>. |         /// Gets id. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <returns><see cref="string"/>The id value for ActorId.</returns> |         /// <returns><see cref="string"/>The id value for ActorId.</returns> | ||||||
|         public string GetId() |         public string GetId() | ||||||
|  | @ -114,11 +112,7 @@ namespace Dapr.Actors | ||||||
|         /// otherwise, false. If obj is null, the method returns false.</returns> |         /// otherwise, false. If obj is null, the method returns false.</returns> | ||||||
|         public override bool Equals(object obj) |         public override bool Equals(object obj) | ||||||
|         { |         { | ||||||
|             if (ReferenceEquals(obj, null)) |             if (obj is null || obj.GetType() != typeof(ActorId)) | ||||||
|             { |  | ||||||
|                 return false; |  | ||||||
|             } |  | ||||||
|             else if (obj.GetType() != typeof(ActorId)) |  | ||||||
|             { |             { | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
|  | @ -132,12 +126,11 @@ namespace Dapr.Actors | ||||||
|         /// Determines whether this instance and another specified <see cref="ActorId"/> object have the same value. |         /// Determines whether this instance and another specified <see cref="ActorId"/> object have the same value. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <param name="other">The actorId to compare to this instance.</param> |         /// <param name="other">The actorId to compare to this instance.</param> | ||||||
|         /// <returns>true if the id of the other parameter is the same as the |         /// <returns>true if the id of the other parameter is the same as the id of this instance; otherwise, false. | ||||||
|         /// id of this instance; otherwise, false. |  | ||||||
|         /// If other is null, the method returns false.</returns> |         /// If other is null, the method returns false.</returns> | ||||||
|         public bool Equals(ActorId other) |         public bool Equals(ActorId other) | ||||||
|         { |         { | ||||||
|             if (ReferenceEquals(other, null)) |             if (other is null) | ||||||
|             { |             { | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
|  | @ -157,17 +150,17 @@ namespace Dapr.Actors | ||||||
|         /// <remarks>The comparison is done based on the id if both the instances.</remarks> |         /// <remarks>The comparison is done based on the id if both the instances.</remarks> | ||||||
|         public int CompareTo(ActorId other) |         public int CompareTo(ActorId other) | ||||||
|         { |         { | ||||||
|             return ReferenceEquals(other, null) ? 1 : CompareContents(this, other); |             return other is null ? 1 : CompareContents(this, other); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private static bool EqualsContents(ActorId x, ActorId y) |         private static bool EqualsContents(ActorId id1, ActorId id2) | ||||||
|         { |         { | ||||||
|             return string.Equals(x.stringId, y.stringId, StringComparison.OrdinalIgnoreCase); |             return string.Equals(id1.stringId, id2.stringId, StringComparison.OrdinalIgnoreCase); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private static int CompareContents(ActorId x, ActorId y) |         private static int CompareContents(ActorId id1, ActorId id2) | ||||||
|         { |         { | ||||||
|             return string.Compare(x.stringId, y.stringId, StringComparison.OrdinalIgnoreCase); |             return string.Compare(id1.stringId, id2.stringId, StringComparison.OrdinalIgnoreCase); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -6,18 +6,17 @@ | ||||||
| namespace Dapr.Actors.Test | namespace Dapr.Actors.Test | ||||||
| { | { | ||||||
|     using Dapr.Actors.Builder; |     using Dapr.Actors.Builder; | ||||||
|     using Microsoft.VisualStudio.TestTools.UnitTesting; |     using Xunit; | ||||||
| 
 | 
 | ||||||
|     /// <summary> |     /// <summary> | ||||||
|     /// Test class for Actor Code builder. |     /// Test class for Actor Code builder. | ||||||
|     /// </summary> |     /// </summary> | ||||||
|     [TestClass] |  | ||||||
|     public class ActorCodeBuilderTests |     public class ActorCodeBuilderTests | ||||||
|     { |     { | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Tests Proxy Generation. |         /// Tests Proxy Generation. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [TestMethod] |         [Fact] | ||||||
|         public void TestBuildActorProxyGenerator() |         public void TestBuildActorProxyGenerator() | ||||||
|         { |         { | ||||||
|             ActorProxyGenerator proxyGenerator = ActorCodeBuilder.GetOrCreateProxyGenerator(typeof(ITestActor)); |             ActorProxyGenerator proxyGenerator = ActorCodeBuilder.GetOrCreateProxyGenerator(typeof(ITestActor)); | ||||||
|  |  | ||||||
|  | @ -0,0 +1,196 @@ | ||||||
|  | // ------------------------------------------------------------ | ||||||
|  | // Copyright (c) Microsoft Corporation. | ||||||
|  | // Licensed under the MIT License. | ||||||
|  | // ------------------------------------------------------------ | ||||||
|  | 
 | ||||||
|  | namespace Dapr.Actors.Test | ||||||
|  | { | ||||||
|  |     using System; | ||||||
|  |     using System.Collections.Generic; | ||||||
|  |     using Xunit; | ||||||
|  | 
 | ||||||
|  |     /// <summary> | ||||||
|  |     /// Contains tests for Actor ID. | ||||||
|  |     /// </summary> | ||||||
|  |     public class ActorIdTests | ||||||
|  |     { | ||||||
|  |         public static readonly IEnumerable<object[]> CompareToValues = new List<object[]> | ||||||
|  |         { | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 null, | ||||||
|  |                 1, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 0, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 new ActorId("2"), | ||||||
|  |                 -1, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("2"), | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 1, | ||||||
|  |             }, | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         public static readonly IEnumerable<object[]> EqualsValues = new List<object[]> | ||||||
|  |         { | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 null, | ||||||
|  |                 false, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 true, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 new ActorId("2"), | ||||||
|  |                 false, | ||||||
|  |             }, | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         public static readonly IEnumerable<object[]> EqualsOperatorValues = new List<object[]> | ||||||
|  |         { | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 null, | ||||||
|  |                 null, | ||||||
|  |                 true, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 null, | ||||||
|  |                 false, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 null, | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 false, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 true, | ||||||
|  |             }, | ||||||
|  |             new object[] | ||||||
|  |             { | ||||||
|  |                 new ActorId("1"), | ||||||
|  |                 new ActorId("2"), | ||||||
|  |                 false, | ||||||
|  |             }, | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Throw exception if id is null. | ||||||
|  |         /// </summary> | ||||||
|  |         [Fact] | ||||||
|  |         public void Initialize_New_ActorId_Object_With_Null_Id() | ||||||
|  |         { | ||||||
|  |             Assert.Throws<ArgumentNullException>(() => | ||||||
|  |             { | ||||||
|  |                 ActorId actorId = new ActorId(null); | ||||||
|  |             }); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         [Theory] | ||||||
|  |         [InlineData("one")] | ||||||
|  |         [InlineData("123")] | ||||||
|  |         public void Get_Id(string id) | ||||||
|  |         { | ||||||
|  |             ActorId actorId = new ActorId(id); | ||||||
|  |             Assert.Equal(id, actorId.GetId()); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         [Theory] | ||||||
|  |         [InlineData("one")] | ||||||
|  |         [InlineData("123")] | ||||||
|  |         public void Verify_ToString(string id) | ||||||
|  |         { | ||||||
|  |             ActorId actorId = new ActorId(id); | ||||||
|  |             Assert.Equal(id, actorId.ToString()); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Verify Equals method by comparing two actorIds. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="id1">The first actorId to compare.</param> | ||||||
|  |         /// <param name="id2">The second actorId to compare, or null.</param> | ||||||
|  |         /// <param name="expectedValue">Expected value from comparison.</param> | ||||||
|  |         [Theory] | ||||||
|  |         [MemberData(nameof(EqualsValues))] | ||||||
|  |         public void Verify_Equals_By_Object(object id1, object id2, bool expectedValue) | ||||||
|  |         { | ||||||
|  |             Assert.Equal(expectedValue, id1.Equals(id2)); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Verify Equals method by comparing two actorIds. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="id1">The first actorId to compare.</param> | ||||||
|  |         /// <param name="id2">The second actorId to compare, or null.</param> | ||||||
|  |         /// <param name="expectedValue">Expected value from comparison.</param> | ||||||
|  |         [Theory] | ||||||
|  |         [MemberData(nameof(EqualsValues))] | ||||||
|  |         public void Verify_Equals_By_ActorId(ActorId id1, ActorId id2, bool expectedValue) | ||||||
|  |         { | ||||||
|  |             Assert.Equal(expectedValue, id1.Equals(id2)); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Verify equals operator by comparing two actorIds. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="id1">The first actorId to compare, or null.</param> | ||||||
|  |         /// <param name="id2">The second actorId to compare, or null.</param> | ||||||
|  |         /// <param name="expectedValue">Expected value from comparison.</param> | ||||||
|  |         [Theory] | ||||||
|  |         [MemberData(nameof(EqualsOperatorValues))] | ||||||
|  |         public void Verify_Equals_Operator(ActorId id1, ActorId id2, bool expectedValue) | ||||||
|  |         { | ||||||
|  |             Assert.Equal(expectedValue, id1 == id2); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Verify not equals operator by comparing two actorIds. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="id1">The first actorId to compare, or null.</param> | ||||||
|  |         /// <param name="id2">The second actorId to compare, or null.</param> | ||||||
|  |         /// <param name="expectedValue">Expected value from comparison.</param> | ||||||
|  |         [Theory] | ||||||
|  |         [MemberData(nameof(EqualsOperatorValues))] | ||||||
|  |         public void Verify_Not_Equals_Operator(ActorId id1, ActorId id2, bool expectedValue) | ||||||
|  |         { | ||||||
|  |             Assert.Equal(!expectedValue, id1 != id2); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Verify CompareTo method by comparing two actorIds. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="id1">The first actorId to compare.</param> | ||||||
|  |         /// <param name="id2">The second actorId to compare, or null.</param> | ||||||
|  |         /// <param name="expectedValue">Expected value from comparison.</param> | ||||||
|  |         [Theory] | ||||||
|  |         [MemberData(nameof(CompareToValues))] | ||||||
|  |         public void Verify_CompareTo(ActorId id1, ActorId id2, int expectedValue) | ||||||
|  |         { | ||||||
|  |             Assert.Equal(expectedValue, id1.CompareTo(id2)); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -9,12 +9,11 @@ namespace Dapr.Actors.Test | ||||||
|     using System.IO; |     using System.IO; | ||||||
|     using Dapr.Actors.Communication; |     using Dapr.Actors.Communication; | ||||||
|     using FluentAssertions; |     using FluentAssertions; | ||||||
|     using Microsoft.VisualStudio.TestTools.UnitTesting; |     using Xunit; | ||||||
| 
 | 
 | ||||||
|     /// <summary> |     /// <summary> | ||||||
|     /// Contains tests for Actor method invocation exceptions. |     /// Contains tests for Actor method invocation exceptions. | ||||||
|     /// </summary> |     /// </summary> | ||||||
|     [TestClass] |  | ||||||
|     public class ActorMethodInvocationExceptionTests |     public class ActorMethodInvocationExceptionTests | ||||||
|     { |     { | ||||||
|         /// <summary> |         /// <summary> | ||||||
|  | @ -22,7 +21,7 @@ namespace Dapr.Actors.Test | ||||||
|         /// 1) the path for serialization and deserialization of the remote exception |         /// 1) the path for serialization and deserialization of the remote exception | ||||||
|         /// 2) and validating the inner exception. |         /// 2) and validating the inner exception. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [TestMethod] |         [Fact] | ||||||
|         public void TestThrowActorMethodInvocationException() |         public void TestThrowActorMethodInvocationException() | ||||||
|         { |         { | ||||||
|             // Create Remote Actor Method test Exception |             // Create Remote Actor Method test Exception | ||||||
|  |  | ||||||
|  | @ -5,9 +5,12 @@ | ||||||
| 
 | 
 | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <PackageReference Include="FluentAssertions" Version="5.9.0" /> |     <PackageReference Include="FluentAssertions" Version="5.9.0" /> | ||||||
|     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> |     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" /> | ||||||
|     <PackageReference Include="MSTest.TestAdapter" Version="1.3.2" /> |     <PackageReference Include="xunit" Version="2.4.1" /> | ||||||
|     <PackageReference Include="MSTest.TestFramework" Version="1.3.2" /> |     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1"> | ||||||
|  |       <PrivateAssets>all</PrivateAssets> | ||||||
|  |       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||||
|  |     </PackageReference> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
| 
 | 
 | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue