annotate HowTo/TypeBuilder/InitialValues.cs @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.TypeBuilder;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 namespace HowTo.TypeBuilder
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 public class InitialValueTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 [AttributeUsage(AttributeTargets.Property)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 public class NewGuidParameterAttribute : /*[a]*/ParameterAttribute/*[/a]*/
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public NewGuidParameterAttribute() : base(/*[a]*/Guid.NewGuid().ToByteArray()/*[/a]*/)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 public abstract class TestObject1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 /*[a]*/[Parameter("t")]/*[/a]*/ public abstract string Str { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 /*[a]*/[Parameter(20)]/*[/a]*/ public abstract string this[int i] { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 /*[a]*/[Parameter(54)]/*[/a]*/ public abstract int Int { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 /*[a]*/[Parameter(2,2,2)]/*[/a]*/ public abstract DateTime Date { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 /*[a]*/[Parameter(222L)]/*[/a]*/ public abstract Decimal Decimal1 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 /*[a]*/[Parameter(-2.05)]/*[/a]*/ public abstract Decimal Decimal2 { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 /*[a]*/[NewGuidParameter]/*[/a]*/ public abstract Guid Guid { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 public void Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 TestObject1 o = (TestObject1)TypeAccessor.CreateInstance(typeof(TestObject1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 Assert.That(o.Str, Is.EqualTo("t"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 Assert.That(o.Int, Is.EqualTo(54));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 Assert.That(o.Date, Is.EqualTo(new DateTime(2,2,2)));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 Assert.That(o.Decimal1, Is.EqualTo(222m));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 Assert.That(o.Decimal2, Is.EqualTo(-2.05m));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 Assert.That(o.Guid, Is.Not.EqualTo(Guid.Empty));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 }