public void StatevHornsby() { var testCrime = new Felony { ActusReus = new ActusReus { IsAction = lp => lp is Hornsby, IsVoluntary = lp => lp is Hornsby, }, MensRea = new GeneralIntent { IsKnowledgeOfWrongdoing = lp => lp is Hornsby, IsIntentOnWrongdoing = lp => lp is Hornsby, } }; var testResult = testCrime.IsValid(new Hornsby()); Assert.IsTrue(testResult); var testSubject = new MNaghten { IsMentalDefect = lp => lp is Hornsby, }; testResult = testSubject.IsValid(new Hornsby()); Console.WriteLine(testSubject.ToString()); Assert.IsFalse(testResult); }
public void ExampleMNaghtenFake() { var testCrime = new Felony { ActusReus = new ActusReus { IsVoluntary = lp => lp is SusanEg, IsAction = lp => lp is SusanEg }, MensRea = new MaliceAforethought { IsIntentOnWrongdoing = lp => lp is SusanEg } }; var testResult = testCrime.IsValid(new SusanEg()); Assert.IsTrue(testResult); var testSubject = new MNaghten { IsMentalDefect = lp => true, //by attempting to coverup action, insanity fails IsWrongnessOfAware = lp => true }; testResult = testSubject.IsValid(new SusanEg()); Console.WriteLine(testSubject.ToString()); Assert.IsFalse(testResult); }
public void ExampleMNaghtenReal() { var testCrime = new Felony { ActusReus = new ActusReus { IsVoluntary = lp => lp is AndreaEg, IsAction = lp => lp is AndreaEg }, MensRea = new MaliceAforethought { IsIntentOnWrongdoing = lp => lp is AndreaEg } }; var testResult = testCrime.IsValid(new AndreaEg()); Assert.IsTrue(testResult); var testSubject = new MNaghten { IsMentalDefect = lp => true, IsNatureQualityOfAware = lp => false, IsWrongnessOfAware = lp => false }; testResult = testSubject.IsValid(new AndreaEg()); Console.WriteLine(testSubject.ToString()); Assert.IsTrue(testResult); }
public void StatevGuido() { var testCrime = new Felony { ActusReus = new ActusReus { IsVoluntary = lp => lp is Guido, IsAction = lp => lp is Guido, }, MensRea = new MaliceAforethought { IsKnowledgeOfWrongdoing = lp => lp is Guido, } }; var testResult = testCrime.IsValid(new Guido()); Assert.IsTrue(testResult); var testSubject = new MNaghten { IsMentalDefect = lp => lp is Guido, IsWrongnessOfAware = lp => !(lp is Guido), }; testResult = testSubject.IsValid(new Guido()); Console.WriteLine(testSubject.ToString()); Assert.IsTrue(testResult); }