예제 #1
0
        public void CheckEmptyStringFailsToParse()
        {
            string output;

            Assert.IsFalse(JsonParser.TryParseRequest("", out output));

            StreamReader   reader        = new StreamReader(@"Resources\FailedParseError.json");
            ErrorStructure expectedError = JsonConvert.DeserializeObject <ErrorStructure>(reader.ReadToEnd());

            reader.Close();
            ErrorStructure receivedError = JsonConvert.DeserializeObject <ErrorStructure>(output);

            Assert.AreEqual(expectedError.error, receivedError.error);
        }
예제 #2
0
        public void CheckBrokenJsonFails()
        {
            string       input, output;
            StreamReader reader = new StreamReader("Tests/BrokenData.json");

            input = reader.ReadToEnd();
            reader.Close();

            Assert.IsFalse(JsonParser.TryParseRequest(input, out output));

            reader = new StreamReader(@"Resources\FailedParseError.json");
            ErrorStructure expectedError = JsonConvert.DeserializeObject <ErrorStructure>(reader.ReadToEnd());

            reader.Close();
            ErrorStructure receivedError = JsonConvert.DeserializeObject <ErrorStructure>(output);

            Assert.AreEqual(expectedError.error, receivedError.error);
        }
예제 #3
0
        public void Failure()
        {
            var expectedError = new ErrorStructure("error");
            Result <ValueObject, ErrorStructure> failure = expectedError; // implicit conversion

            var returnedError = failure.Case(success: value => default(ErrorStructure), failure: error => error);

            Assert.AreEqual(expectedError, returnedError);

            failure.Case(
                success: value => Assert.Fail("Wrong delegate called"),
                failure: error =>
            {
                Assert.AreEqual(expectedError, error);
                Assert.Pass();
            });

            Assert.Fail("No delegate called");
        }