public void ShouldMapDataRecord()
        {
            //Given
            var repository = new MockRepository(MockBehavior.Strict)
            {
                DefaultValue = DefaultValue.Mock
            };
            var now    = DateTimeOffset.Now;
            var record = repository.CreateIDataRecord(new object[] {
                new {
                    Name = "alpha", Value = 777,
                },
                new {
                    Name = "beta", Value = "Your lucky day",
                },
                new {
                    Name = "charlie", Value = "Punk",
                },
                new {
                    Name = "createDate", Value = now,
                }
            });
            var mapper = new ClassDataRecordMapper();

            //When
            var result = mapper.MapDataRecord <Bar>(record.Object);

            //Then
            Assert.NotNull(result);
            Assert.Equal(777, result.Alpha);
            Assert.Equal("Your lucky day", result.Beta);
            Assert.Equal(now, result.CreateDate);
            Assert.Equal("Can't set me", result.Charlie);
        }
        public void ShouldMapDataRecord()
        {
            //Given
            var repository = new MockRepository(MockBehavior.Strict)
            {
                DefaultValue = DefaultValue.Mock
            };
            var now    = DateTimeOffset.Now;
            var record = repository.CreateIDataRecord(new object[] {
                new {
                    Name = "alpha", Value = 777,
                },
                new {
                    Name = "bravo", Value = "Your lucky day",
                },
                new {
                    Name = "charlie", Value = "Punk",
                },
                new {
                    Name = "delta", Value = 3.14159,
                },
                new {
                    Name = "createDate", Value = now,
                },
                new {
                    Name = "tango", Value = 7
                },
                new {
                    Name = "Whisky", Value = "BAR"
                }
            });
            var mapper = new ClassDataRecordMapper <Bar>();

            //When
            var result = mapper.MapDataRecord(record.Object);

            //Then
            Assert.NotNull(result);
            Assert.Equal(777, result.Alpha);
            Assert.Equal("Your lucky day", result.Bravo);
            Assert.Equal(now, result.CreateDate);
            Assert.Equal("Can't set me", result.Charlie);
            Assert.Equal("3.14159", result.Delta);
            Assert.Equal(TheEnum.bat, result.Tango);
            Assert.Equal(TheEnum.bar, result.Whisky);
        }