Text: Solve using Circular Linked List, Templates in C++.
#include "pch.h"
#include "../"
//include Header file
here
using namespace std;
string Ids[]={"18i-8079","18i-8098","18i-4243","18i-8843"};
string
cnic[]={"12345-1234567-1","12355-1034577-0","10045-1200567-1","10845-1200567-1"};
string
join_date[]={"31/07/2017","15/08/2019","2/09/2015","2/12/2012"};
double salar[]={50000,30000,70000,100000};
double bonus[]={5000,0,10000,15000};
linkList<string, double> obj;
TEST(insertEnd, T1){
for (int i = 0; i < 4; i++)
{
node<string,double> *temp=new node<string,
double>;
temp->id=Ids[i];
temp->cnic=cnic[i];
temp->joinDate=join_date[i];
temp->salary=salar[i];
temp->bonus=bonus[i];
obj.insertEnd(temp);
}
node<string,double>*
head=obj.returnHead();
for (int i = 0; i < 4; i++)
{
EXPECT_EQ(temp->id,Ids[i]);
EXPECT_EQ(temp->cnic,cnic[i]);
EXPECT_EQ(temp->joinDate,join_date[i]);
EXPECT_EQ(
temp->salary,salar[i]);
EXPECT_EQ(temp->bonus,bonus[i]);
}
}
TEST(Search, T2){
node<string,double>*
temp=obj.searchID("18i-4243");
EXPECT_EQ(temp->cnic,cnic[2]);
EXPECT_EQ(temp->joinDate,join_date[2]);
EXPECT_EQ(
temp->salary,salar[2]);
EXPECT_EQ(temp->bonus,bonus[2]);
}
TEST(MAxSalarNode, T3){
node<string,double>*
temp=obj.MaxSalary();
EXPECT_EQ(temp->id,Ids[3]);
EXPECT_EQ(temp->cnic,cnic[3]);
EXPECT_EQ(temp->joinDate,join_date[3]);
EXPECT_EQ(
temp->salary,salar[3]);
EXPECT_EQ(temp->bonus,bonus[3]);
}
TEST(updateSalary, T4){
obj.UpdateSalary("18i-8843",150000);
EXPECT_EQ(150000,obj.GetSalary("18i-8843"));
}
TEST(remove, T5){
EXPECT_TRUE(obj.remove("18i-4243"));
}