# Scala Assignment

  1. Define a case class called Employee that has the following attributes:

    • name
    • gender
    • year of joining
    • salary
    • designation (could be only SE, SSE, TL, TA, PM, DIR, VP, CEO)
    • months of experience in current designation
  2. Define a class called Company that holds a list of Employee class defined above.

NOTE

create the above 2 classes inside the package com.metastay.tutorialdata

  1. Now, implement the following methods in Company class
    • how many employees are there ?
    • list just the name of the employees
    • how many of employees are male and how many of them are female.
    • what is the total salary cost to the company?
    • what is the salary cost to the company excluding the SE and SSE?
    • what is the salary cost to the female employees who joined in 2009?
    • list the name of the people have more than 18 months in current designation
    • list the names of TLs are there with less than 6 months in current designation
    • list the names of female SEs who have joined in year 2008 and more than 6 months of experience * designation* provide a salary m* designation vs. total salary* if the company fires half of PMs, and half of TLs, how much money would be saved.* Find the name of the person who has the least salary.
    • Find the list of the persons who have highest salary in their respective designations.
  2. Write unit tests to make sure the the code is correct against a fixed set of values.