public void maps_class_to_dynamicparams() { var result = Parakeet <TestClass> .Generate(_testClass); result.ParameterNames.Count().ShouldBe(25); result.Get <string>("StringValue").ShouldBe(_testClass.StringValue); // result.Get<string?>("NullableStringValue").ShouldBe(_testClass.NullableStringValue); result.Get <Guid>("GuidValue").ShouldBe(_testClass.GuidValue); result.Get <Guid?>("NullableGuidValue").ShouldBe(_testClass.NullableGuidValue); result.Get <char>("CharValue").ShouldBe(_testClass.CharValue); result.Get <char?>("NullableCharValue").ShouldBe(_testClass.NullableCharValue); result.Get <int>("IntValue").ShouldBe(_testClass.IntValue); result.Get <int?>("NullableIntValue").ShouldBe(_testClass.NullableIntValue); result.Get <bool>("BoolValue").ShouldBe(_testClass.BoolValue); result.Get <bool?>("NullableBoolValue").ShouldBe(_testClass.NullableBoolValue); result.Get <decimal>("DecimalValue").ShouldBe(_testClass.DecimalValue); result.Get <decimal?>("NullableDecimalValue").ShouldBe(_testClass.NullableDecimalValue); result.Get <long>("LongValue").ShouldBe(_testClass.LongValue); result.Get <long?>("NullableLongValue").ShouldBe(_testClass.NullableLongValue); result.Get <byte>("ByteValue").ShouldBe(_testClass.ByteValue); result.Get <byte?>("NullableByteValue").ShouldBe(_testClass.NullableByteValue); result.Get <TestEnum>("EnumValue").ShouldBe(_testClass.EnumValue); result.Get <TestEnum?>("NullableEnumValue").ShouldBe(_testClass.NullableEnumValue); result.Get <DateTimeOffset>("DateTimeOffsetValue").ShouldBe(_testClass.DateTimeOffsetValue); result.Get <DateTimeOffset?>("NullableDateTimeOffsetValue").ShouldBe(_testClass.NullableDateTimeOffsetValue); result.Get <DateTime>("DateTimeValue").ShouldBe(_testClass.DateTimeValue); result.Get <DateTime?>("NullableDateTimeValue").ShouldBe(_testClass.NullableDateTimeValue); result.Get <string>("NewName").ShouldBe(_testClass.OldName); result.Get <NotEligible>("NotEligibleButIncludeAnywayValue").ShouldBe(_testClass.NotEligibleButIncludeAnywayValue); // Since the TableValueParamter type is internal to Dapper, we can't use Get<T> // to inspect the value. We'll have to be satisfied for checking for it's existence. result.ParameterNames.Where(x => x == "DataTableValue").Any().ShouldBeTrue(); result.ParameterNames.Where(x => x == "EnumerableDataRecords").Any().ShouldBeTrue(); // Anything marked as ParakeetIgnore, even if it's eligible, should be ignored. result.ParameterNames.Where(x => x == "Ignored").Any().ShouldBeFalse(); // Anything not eligble should be ignored unless it has the Parakeet attribute result.ParameterNames.Where(x => x == "NotEligible").Any().ShouldBeFalse(); }
private void Project_ProjectLoaded(Parakeet.Plugin.Project project) { if (project == null) // Do nothing return; _project = project; }