Tax calculator using functional programming class Program
{
    static void Main(string[] args)
    {
        var priceList = new List&lt;int&gt;() { 10, 20, 30, 40 };
        var totalAmount = InvoiceCalculator.CalculateTotalPriceWithTax(priceList, 5);
        Console.WriteLine(totalAmount);
    }
}

static class InvoiceCalculator
{
    private static int CalculatePrice(List&lt;int&gt; priceList)
    {            
        return priceList.Sum();         
    }
    private static int CalculateTax(int price, int taxRate)
    {
        return (price * taxRate / 100); // Ignore int datatype for simplicity. input values are immutable          
    }
    public static int CalculateTotalPriceWithTax(List&lt;int&gt; priceList, int taxRate)
    {
        int totalPrice = CalculatePrice(priceList); // input values are immutable
        int tax = CalculateTax(totalPrice, taxRate); // input values are immutable
        return totalPrice + tax;
    }
}


Features of the program are


Inputs are immutable. 
Functions are not altering the state
Use of pure functions
CalculateTotalPriceWithTax is calling CalculatePrice and CalculateTax but not altering the state


•   For simplicity I have used int datatype instead float, double for tax calculation.

Is it violating functional programming principle because CalculateTotalPriceWithTax() function is calling CalculateTax and CalculatePrice function? 

Note: None of these calls are altering the state.
For simplicity exception handling and aspects are ignored. Just interested in knowing the functional aspects of the program
Hi and welcome to CodeReview.

You are right, your code does not modify state (has not side effects) and the output of the methods depends only from the input... Therefore I would guess that the functions are "pure functions".

However, I would prefere an IEnumerable of int instead of List of int as parameter type because with an IEnumerable the API shows that the method does not change the passed list.

If you value immutability, there are also some immutable collection in .net (e.g.: The ImmutableList).

If you like functional programming, F# is really worth a look! FSharpForFunAndProfit is a good point to start :D