main
1using System;
2using jive;
3using Machine.Specifications;
4
5namespace specs.unit.utility
6{
7 public class ValueTypeSpecs
8 {
9 public class when_two_different_instances_of_the_same_type_have_the_same_values
10 {
11 It should_consider_them_equal = () =>
12 {
13 var birthDate = DateTime.Today;
14 new TestType {first = "mo", BirthDate = birthDate}
15 .ShouldEqual(new TestType {first = "mo", BirthDate = birthDate});
16 };
17 }
18
19 public class when_comparing_a_single_instance
20 {
21 It should_consider_them_equal = () =>
22 {
23 var instance = new TestType {first = "mo", BirthDate = DateTime.Today};
24 instance.ShouldEqual(instance);
25 };
26 }
27
28 public class when_two_different_instances_of_the_same_type_have_different_values
29 {
30 It should_consider_them_equal = () =>
31 {
32 new TestType {first = "mo", BirthDate = DateTime.Today}
33 .ShouldNotEqual(new TestType {first = "mo", BirthDate = DateTime.Today.AddDays(-1)});
34 };
35 }
36
37 class TestType : ValueType<TestType>
38 {
39 public string first { get; set; }
40 public DateTime BirthDate { get; set; }
41 }
42 }
43}