Esempio n. 1
0
        public void AFailingKoanReturnsItsException()
        {
            var container = new KoanContainer();
            var result    = container.RunKoans(new FailureContainer()).First();

            Assert.AreEqual("FailureKoan has damaged your karma.", result.Message);
        }
Esempio n. 2
0
        public void TheOutcomeOfAllSuccessfulKoansIsReturned()
        {
            var result = new KoanContainer().RunKoans(new SomeSuccesses()).Select(x => x.Message).Aggregate((x, y) => x + System.Environment.NewLine + y);

            var expected = "One has expanded your awareness." + System.Environment.NewLine + "Two has expanded your awareness.";

            Assert.AreEqual(expected, result);
        }
Esempio n. 3
0
        public void AFailingKoanReturnsAFailureMessage()
        {
            var result = new KoanContainer().RunKoans(new FailureContainer()).First();

            Assert.AreEqual("FailureKoan has damaged your karma.", result.Message);

            Assert.AreEqual("expected failure", (result as Failure).Exception.Message);
        }
Esempio n. 4
0
        ////might want to change this behavior
        public void FailedKoansDontStopTheEnumeration()
        {
            var result = new KoanContainer().RunKoans(new MixedBag()).Select(x => x.Message).Aggregate((x, y) => x + System.Environment.NewLine + y);

            var expected = "One has damaged your karma." + System.Environment.NewLine + "Two has expanded your awareness.";

            Assert.AreEqual(expected, result);
        }
Esempio n. 5
0
        public void ASuccessfulKoanReturnsASuccessMessage()
        {
            var result = new KoanContainer().RunKoans(new SuccessContainer()).First();

            Assert.AreEqual("SuccessKoan has expanded your awareness.", result.Message);
        }
Esempio n. 6
0
        private IList <string> GetKoanNames(KoanContainer container)
        {
            var names = from x in KoanContainer.FindKoanMethods(container) select x.Name;

            return(names.ToList());
        }