public void GenericParameterTest() { var intParameter = new GenericParameter <int> { Value = 23 }; var stringParameter = new GenericParameter <string> { Value = "qwerty1234" }; var dynamicParameter = new GenericParameter <Task> { Value = Task.CompletedTask }; var objectParameter = new GenericParameter <object> { Value = CancellationToken.None }; intParameter.GetParamType().Should().BeAssignableTo <int>(); stringParameter.GetParamType().Should().BeAssignableTo <string>(); dynamicParameter.GetParamType().Should().BeAssignableTo <Task>(); objectParameter.GetParamType().Should().BeAssignableTo <object>(); intParameter.GetValue().Should().BeAssignableTo <int>(); stringParameter.GetValue().Should().BeAssignableTo <string>(); dynamicParameter.GetValue().Should().BeAssignableTo <Task>(); objectParameter.GetValue().Should().BeAssignableTo <CancellationToken>(); intParameter.GetValue().Should().Be(23); stringParameter.GetValue().Should().Be("qwerty1234"); dynamicParameter.GetValue().Should().Be(Task.CompletedTask); objectParameter.GetValue().Should().Be(CancellationToken.None); }