Click here to Skip to main content
15,893,663 members
Articles / Programming Languages / C# 3.5

Trading With World of Narnians

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
19 Jul 2013CPOL6 min read 23.7K   83   7  
Object oriented implementation of basic language processing / parsing leveraging LINQ / PRISM / UnityContainer.
using System.Collections.Generic;
using TradeWithNarnia.Parsers.WordParser;
using TradeWithNarnia.RawText;
using NUnit.Framework;

namespace TradeWithNarniaTest
{
  /// <summary>
  /// Test Fixture to get the given input in the problem statement tested
  /// </summary>
  [TestFixture]
  public class TestGivenInput
  {
    private KeyValuePair<string, string>[] inputOutputPairs = new []
      {
        new KeyValuePair<string, string>("cat is I", string.Empty), 
        new KeyValuePair<string, string>("fish is V", string.Empty),
        new KeyValuePair<string, string>("pig is X", string.Empty),
        new KeyValuePair<string, string>("ant is L", string.Empty),
        new KeyValuePair<string, string>("cat cat Brass is 10 Credits", string.Empty),
        new KeyValuePair<string, string>("cat fish Copper is 4000 Credits", string.Empty),
        new KeyValuePair<string, string>("pig pig Aluminium is 2000 Credits", string.Empty),
        new KeyValuePair<string, string>("how much is pig ant cat ?", "pig ant cat is 41"),
        new KeyValuePair<string, string>("how many Credits is cat fish Brass ?", "cat fish Brass is 20 Credits"),
        new KeyValuePair<string, string>("how many Credits is cat fish Copper ?", "cat fish Copper is 4000 Credits"),
        new KeyValuePair<string, string>("how many Credits is cat fish Aluminium ?", "cat fish Aluminium is 400 Credits"),
        new KeyValuePair<string, string>("how much would be the cost to get Aslan on to the earth ?", "Exception - unable to parse"),
      };


    [Test]
    public void ExecuteTest1()
    {
      TradeWithNarnia.Helper.UnityContainerHelper.Initialize();

      var singleLineProcessor = new SingleLineProcessor();
      foreach (var inputOutpuPair in inputOutputPairs)
      {
        string output = singleLineProcessor.Process(new SingleLineText(inputOutpuPair.Key));
        Assert.True(inputOutpuPair.Value.Equals(output), "Expected output: " + inputOutpuPair.Value + " Actual output: " + output);
      }
    }

  }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Self Employed
India India
I am Gaurav Chhatbar. I have got a total IT experience of 10 years that involves developing, leading, managing and delivering IT solutions for business.

My core expertise lies around Dot Net as well as Java technologies. In the past, I have developed / owned applications, primarily for:
Front Office Trading – Equities, Fixed Income as well as Structured Products
Private Wealth Management – Trading and CRM

For most of my career, I have worked for Morgan Stanley, Mumbai, India.

Gaurav Chhatbar
chhatbar@gmail.com

Comments and Discussions