From 3cd737da72c7102a663c88ffacc667ee8f9ae5a0 Mon Sep 17 00:00:00 2001 From: Akbarkhan24 <140027434+Akbarkhan24@users.noreply.github.com> Date: Sat, 14 Oct 2023 21:16:10 -0500 Subject: [PATCH] Code Evaluation done for .Net --- .vs/ProjectSettings.json | 3 + .vs/VSWorkspaceState.json | 6 + ...43f86783-1b40-4f8d-9447-f553af3d146a.vsidx | Bin 0 -> 63467 bytes .../FileContentIndex/read.lock | 0 .vs/coding-evaluation/v17/.wsuo | Bin 0 -> 32256 bytes .vs/slnx.sqlite | Bin 0 -> 167936 bytes dotnet/MyOrganization/Organization.cs | 22 +- java/.gitignore | 1 - java/README.md | 14 - java/com/aa/act/interview/org/Employee.java | 27 -- .../aa/act/interview/org/MyOrganization.java | 49 --- java/com/aa/act/interview/org/Name.java | 29 -- .../aa/act/interview/org/Organization.java | 39 -- java/com/aa/act/interview/org/Position.java | 61 --- javascript-es5/Employee.js | 12 - javascript-es5/MyOrganization.js | 43 --- javascript-es5/Name.js | 13 - javascript-es5/Organization.js | 22 -- javascript-es5/Position.js | 37 -- javascript-es5/README.md | 5 - javascript-es5/package.json | 11 - javascript-es6/Employee.js | 12 - javascript-es6/MyOrganization.js | 43 --- javascript-es6/Name.js | 15 - javascript-es6/Organization.js | 21 - javascript-es6/Position.js | 35 -- javascript-es6/README.md | 5 - javascript-es6/package.json | 12 - typescript/.gitignore | 1 - typescript/Employee.ts | 9 - typescript/MyOrganization.ts | 46 --- typescript/Name.ts | 7 - typescript/Organization.ts | 31 -- typescript/Position.ts | 37 -- typescript/README.md | 5 - typescript/package-lock.json | 361 ------------------ typescript/package.json | 15 - typescript/tsconfig.json | 6 - 38 files changed, 29 insertions(+), 1026 deletions(-) create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/coding-evaluation/FileContentIndex/43f86783-1b40-4f8d-9447-f553af3d146a.vsidx create mode 100644 .vs/coding-evaluation/FileContentIndex/read.lock create mode 100644 .vs/coding-evaluation/v17/.wsuo create mode 100644 .vs/slnx.sqlite delete mode 100644 java/.gitignore delete mode 100644 java/README.md delete mode 100644 java/com/aa/act/interview/org/Employee.java delete mode 100644 java/com/aa/act/interview/org/MyOrganization.java delete mode 100644 java/com/aa/act/interview/org/Name.java delete mode 100644 java/com/aa/act/interview/org/Organization.java delete mode 100644 java/com/aa/act/interview/org/Position.java delete mode 100644 javascript-es5/Employee.js delete mode 100644 javascript-es5/MyOrganization.js delete mode 100644 javascript-es5/Name.js delete mode 100644 javascript-es5/Organization.js delete mode 100644 javascript-es5/Position.js delete mode 100644 javascript-es5/README.md delete mode 100644 javascript-es5/package.json delete mode 100644 javascript-es6/Employee.js delete mode 100644 javascript-es6/MyOrganization.js delete mode 100644 javascript-es6/Name.js delete mode 100644 javascript-es6/Organization.js delete mode 100644 javascript-es6/Position.js delete mode 100644 javascript-es6/README.md delete mode 100644 javascript-es6/package.json delete mode 100644 typescript/.gitignore delete mode 100644 typescript/Employee.ts delete mode 100644 typescript/MyOrganization.ts delete mode 100644 typescript/Name.ts delete mode 100644 typescript/Organization.ts delete mode 100644 typescript/Position.ts delete mode 100644 typescript/README.md delete mode 100644 typescript/package-lock.json delete mode 100644 typescript/package.json delete mode 100644 typescript/tsconfig.json diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/coding-evaluation/FileContentIndex/43f86783-1b40-4f8d-9447-f553af3d146a.vsidx b/.vs/coding-evaluation/FileContentIndex/43f86783-1b40-4f8d-9447-f553af3d146a.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..0f4ef2d23bec55694926df77c960cba0e9656450 GIT binary patch literal 63467 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 fK{BSmXjn;J0)o)REZG5mprBfE literal 0 HcmV?d00001 diff --git a/dotnet/MyOrganization/Organization.cs b/dotnet/MyOrganization/Organization.cs index 7480481..0383a97 100644 --- a/dotnet/MyOrganization/Organization.cs +++ b/dotnet/MyOrganization/Organization.cs @@ -17,6 +17,9 @@ public Organization() protected abstract Position CreateOrganization(); + // This is to generate identifier for the Employees + int identifier = 1; + /** * hire the given person as an employee in the position that has that title * @@ -26,7 +29,22 @@ public Organization() */ public Position? Hire(Name person, string title) { - //your code here + Employee employee = new Employee(identifier++, person); + return CheckDirectReportPositions(root, employee, title); + } + + private Position? CheckDirectReportPositions(Position pos, Employee employee, string title) + { + if (pos.GetTitle() == title) + { + pos.SetEmployee(employee); + return pos; + } + + foreach (Position p in pos.GetDirectReports()) + { + CheckDirectReportPositions(p, employee, title); + } return null; } @@ -45,4 +63,4 @@ private string PrintOrganization(Position pos, string prefix) return sb.ToString(); } } -} +} \ No newline at end of file diff --git a/java/.gitignore b/java/.gitignore deleted file mode 100644 index 8399968..0000000 --- a/java/.gitignore +++ /dev/null @@ -1 +0,0 @@ -**/*.class \ No newline at end of file diff --git a/java/README.md b/java/README.md deleted file mode 100644 index 469e379..0000000 --- a/java/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Coding evaluation -Your goal is to make this project functional by completing the `hire()` method in the `Organization` class. You are free to change existing code or add additonal code, with the exception of `MyOrganization.java`. This file must not be changed. - -## Running the project -This project should be run on a Java 11 or later JVM. It can be compiled and run in your favorite IDE or by using the command line instructions below. - -Compile the project by running: - - javac com/aa/act/interview/org/*.java - -The `MyOrganization` class has a `main()` method, so the project can be run with: - - java com.aa.act.interview.org.MyOrganization - diff --git a/java/com/aa/act/interview/org/Employee.java b/java/com/aa/act/interview/org/Employee.java deleted file mode 100644 index 0e40b90..0000000 --- a/java/com/aa/act/interview/org/Employee.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.aa.act.interview.org; - -public class Employee { - - private int identifier; - private Name name; - - public Employee(int identifier, Name name) { - if(name == null) - throw new IllegalArgumentException("name cannot be null"); - this.identifier = identifier; - this.name = name; - } - - public int getIdentifier() { - return identifier; - } - - public Name getName() { - return name; - } - - @Override - public String toString() { - return name.toString() + ": " + identifier; - } -} diff --git a/java/com/aa/act/interview/org/MyOrganization.java b/java/com/aa/act/interview/org/MyOrganization.java deleted file mode 100644 index a6048da..0000000 --- a/java/com/aa/act/interview/org/MyOrganization.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.aa.act.interview.org; - -public class MyOrganization extends Organization { - - @Override - protected Position createOrganization() { - Position ceo = new Position("CEO"); - Position pres = new Position("President"); - ceo.addDirectReport(pres); - Position vpm = new Position("VP Marketing"); - pres.addDirectReport(vpm); - Position vps = new Position("VP Sales"); - pres.addDirectReport(vps); - Position vpf = new Position("VP Finance"); - pres.addDirectReport(vpf); - Position coo = new Position("COO"); - pres.addDirectReport(coo); - Position cio = new Position("CIO"); - ceo.addDirectReport(cio); - Position vpt = new Position("VP Technology"); - cio.addDirectReport(vpt); - Position vpi = new Position("VP Infrastructure"); - cio.addDirectReport(vpi); - Position dea = new Position("Director Enterprise Architecture"); - vpt.addDirectReport(dea); - Position dct = new Position("Director Customer Technology"); - vpt.addDirectReport(dct); - Position s = new Position("Salesperson"); - vps.addDirectReport(s); - - return ceo; - } - - public static final void main(String... args) { - MyOrganization myOrg = new MyOrganization(); - myOrg.hire(new Name("Bob", "Smith"), "CEO"); - myOrg.hire(new Name("Zaphod", "Beeblebrox"), "President"); - myOrg.hire(new Name("Gandalf", "Gray"), "Director Enterprise Architecture"); - myOrg.hire(new Name("Bill", "Lumbergh"), "Director Customer Technology"); - myOrg.hire(new Name("Ford", "Prefect"), "VP Marketing"); - myOrg.hire(new Name("Jane", "Seller"), "VP Sales"); - myOrg.hire(new Name("Bean", "Counter"), "VP Finance"); - myOrg.hire(new Name("Victoria", "Sinclair"), "CIO"); - myOrg.hire(new Name("Head", "Geek"), "VP Technology"); - myOrg.hire(new Name("Steve", "Dent"), "VP Infrastructure"); - myOrg.hire(new Name("Slick", "Willie"), "Salesperson"); - System.out.println(myOrg); - } -} diff --git a/java/com/aa/act/interview/org/Name.java b/java/com/aa/act/interview/org/Name.java deleted file mode 100644 index edb78b1..0000000 --- a/java/com/aa/act/interview/org/Name.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.aa.act.interview.org; - -public class Name { - - private String first; - private String last; - - public Name(String first, String last) { - if(first == null) - throw new IllegalArgumentException("first name cannot be null"); - if(last == null) - throw new IllegalArgumentException("last name cannot be null"); - this.first = first; - this.last = last; - } - - public String getFirst() { - return first; - } - - public String getLast() { - return last; - } - - @Override - public String toString() { - return first + " " + last; - } -} diff --git a/java/com/aa/act/interview/org/Organization.java b/java/com/aa/act/interview/org/Organization.java deleted file mode 100644 index e1c8ed1..0000000 --- a/java/com/aa/act/interview/org/Organization.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.aa.act.interview.org; - -import java.util.Optional; - -public abstract class Organization { - - private Position root; - - public Organization() { - root = createOrganization(); - } - - protected abstract Position createOrganization(); - - /** - * hire the given person as an employee in the position that has that title - * - * @param person - * @param title - * @return the newly filled position or empty if no position has that title - */ - public Optional hire(Name person, String title) { - //your code here - return Optional.empty(); - } - - @Override - public String toString() { - return printOrganization(root, ""); - } - - private String printOrganization(Position pos, String prefix) { - StringBuffer sb = new StringBuffer(prefix + "+-" + pos.toString() + "\n"); - for(Position p : pos.getDirectReports()) { - sb.append(printOrganization(p, prefix + " ")); - } - return sb.toString(); - } -} diff --git a/java/com/aa/act/interview/org/Position.java b/java/com/aa/act/interview/org/Position.java deleted file mode 100644 index f2757ba..0000000 --- a/java/com/aa/act/interview/org/Position.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.aa.act.interview.org; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Optional; -import java.util.Set; - -public class Position { - - private String title; - private Optional employee; - private Set directReports; - - public Position(String title) { - this.title = title; - employee = Optional.empty(); - directReports = new HashSet(); - } - - public Position(String title, Employee employee) { - this(title); - if(employee != null) - setEmployee(Optional.of(employee)); - } - - public String getTitle() { - return title; - } - - public void setEmployee(Optional employee) { - this.employee = employee; - } - - public Optional getEmployee() { - return employee; - } - - public boolean isFilled() { - return employee.isPresent(); - } - - public boolean addDirectReport(Position position) { - if(position == null) - throw new IllegalArgumentException("position cannot be null"); - return directReports.add(position); - } - - public boolean removePosition(Position position) { - return directReports.remove(position); - } - - public Collection getDirectReports() { - return Collections.unmodifiableCollection(directReports); - } - - @Override - public String toString() { - return title + employee.map(e -> ": " + e.toString()).orElse(""); - } -} diff --git a/javascript-es5/Employee.js b/javascript-es5/Employee.js deleted file mode 100644 index 592bfa3..0000000 --- a/javascript-es5/Employee.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = function (identifier, name) { - if (!name) { - throw new Error('name cannot be null'); - } - return { - getIdentifier: function () { return identifier; }, - getName: function () { return name; }, - toString: function () { - return `${name.toString()}: ${identifier}`; - }, - }; -}; diff --git a/javascript-es5/MyOrganization.js b/javascript-es5/MyOrganization.js deleted file mode 100644 index 5fda969..0000000 --- a/javascript-es5/MyOrganization.js +++ /dev/null @@ -1,43 +0,0 @@ -const Name = require('./Name.js'); -const Organization = require('./Organization.js'); -const Position = require('./Position.js'); - -const ceo = Position('CEO'); -const pres = Position('President'); -ceo.addDirectReport(pres); -const vpm = Position('VP Marketing'); -pres.addDirectReport(vpm); -const vps = Position('VP Sales'); -pres.addDirectReport(vps); -const vpf = Position('VP Finance'); -pres.addDirectReport(vpf); -const coo = Position('COO'); -pres.addDirectReport(coo); -const cio = Position('CIO'); -ceo.addDirectReport(cio); -const vpt = Position('VP Technology'); -cio.addDirectReport(vpt); -const vpi = Position('VP Infrastructure'); -cio.addDirectReport(vpi); -const dea = Position('Director Enterprise Architecture'); -vpt.addDirectReport(dea); -const dct = Position('Director Customer Technology'); -vpt.addDirectReport(dct); -const s = Position('Salesperson'); -vps.addDirectReport(s); - -const myOrg = Organization(ceo); - -myOrg.hire(Name('Bob', 'Smith'), 'CEO'); -myOrg.hire(Name('Zaphod', 'Beeblebrox'), 'President'); -myOrg.hire(Name('Gandalf', 'Gray'), 'Director Enterprise Architecture'); -myOrg.hire(Name('Bill', 'Lumbergh'), 'Director Customer Technology'); -myOrg.hire(Name('Ford', 'Prefect'), 'VP Marketing'); -myOrg.hire(Name('Jane', 'Seller'), 'VP Sales'); -myOrg.hire(Name('Bean', 'Counter'), 'VP Finance'); -myOrg.hire(Name('Victoria', 'Sinclair'), 'CIO'); -myOrg.hire(Name('Head', 'Geek'), 'VP Technology'); -myOrg.hire(Name('Steve', 'Dent'), 'VP Infrastructure'); -myOrg.hire(Name('Slick', 'Willie'), 'Salesperson'); - -console.log(myOrg.toString()); diff --git a/javascript-es5/Name.js b/javascript-es5/Name.js deleted file mode 100644 index 380d01b..0000000 --- a/javascript-es5/Name.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = function (first, last) { - if (!first) { - throw new Error('first name cannot be null'); - } - if (!last) { - throw new Error('last name cannot be null'); - } - return { - getFirst: function () { return first; }, - getLast: function () { return last; }, - toString: function () { return `${first} ${last}`; }, - }; -}; diff --git a/javascript-es5/Organization.js b/javascript-es5/Organization.js deleted file mode 100644 index b73b1e2..0000000 --- a/javascript-es5/Organization.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = function (root) { - return { - getRoot: function () { return root; }, - - printOrganization: function (position, prefix) { - let str = `${prefix}+-${position.toString()}\n`; - for (const p of position.getDirectReports()) { - str = str.concat(this.printOrganization(p, `${prefix} `)); - } - return str; - }, - // Hire the given person as an employee in the position that has that title - // Return the newly filled position or undefined if no position has that title - hire: function (person, title) { - // your code here - }, - - toString: function () { - return this.printOrganization(root, ''); - } - }; -}; diff --git a/javascript-es5/Position.js b/javascript-es5/Position.js deleted file mode 100644 index e9f740c..0000000 --- a/javascript-es5/Position.js +++ /dev/null @@ -1,37 +0,0 @@ -module.exports = function (title, employee) { - const directReports = new Set(); - - return { - isFilled: function () { - return !!employee; - }, - - getTitle: function () { return title; }, - - setEmployee: function (emp) { employee = emp; }, - - getEmployee: function () { return employee; }, - - addDirectReport: function (position) { - if (!position) { - throw new Error('position cannot be null'); - } - directReports.add(position); - }, - - removePosition: function (position) { - return directReports.delete(position); - }, - - getDirectReports: function () { - const reports = []; - directReports.forEach(function (position) { reports.push(position); }); - return reports; - }, - - toString: function () { - const emp = employee ? `: ${employee.toString()}` : ''; - return `${title}${emp}`; - } - }; -}; diff --git a/javascript-es5/README.md b/javascript-es5/README.md deleted file mode 100644 index 393ec78..0000000 --- a/javascript-es5/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Coding evaluation -Your goal is to make this project functional by completing the `hire()` function in the `Organization.js` file. You are free to change existing code or add additonal code, with the exception of `MyOrganization.js`. This file must not be changed. - -## Running the project -This project should be run on Node v14 or later. The project can be run in your favorite IDE or by running `npm start`. \ No newline at end of file diff --git a/javascript-es5/package.json b/javascript-es5/package.json deleted file mode 100644 index e5656cd..0000000 --- a/javascript-es5/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "codingeval-es5", - "version": "1.0.0", - "private": true, - "description": "Coding evaluation for interviews - ES5 edition", - "main": "MyOrganization.js", - "scripts": { - "start": "node ./MyOrganization.js" - }, - "author": "American Airlines" -} diff --git a/javascript-es6/Employee.js b/javascript-es6/Employee.js deleted file mode 100644 index 2c596ce..0000000 --- a/javascript-es6/Employee.js +++ /dev/null @@ -1,12 +0,0 @@ -class Employee { - constructor(identifier, name) { - if (!name) { - throw new Error('name cannot be null'); - } - this.getIdentifier = () => identifier; - this.getName = () => name - this.toString = () => `${name.toString()}: ${identifier}`; - } -} - -export default Employee; diff --git a/javascript-es6/MyOrganization.js b/javascript-es6/MyOrganization.js deleted file mode 100644 index 87ccfd1..0000000 --- a/javascript-es6/MyOrganization.js +++ /dev/null @@ -1,43 +0,0 @@ -import Name from './Name.js'; -import Organization from './Organization.js'; -import Position from './Position.js'; - -const ceo = new Position('CEO'); -const pres = new Position('President'); -ceo.addDirectReport(pres); -const vpm = new Position('VP Marketing'); -pres.addDirectReport(vpm); -const vps = new Position('VP Sales'); -pres.addDirectReport(vps); -const vpf = new Position('VP Finance'); -pres.addDirectReport(vpf); -const coo = new Position('COO'); -pres.addDirectReport(coo); -const cio = new Position('CIO'); -ceo.addDirectReport(cio); -const vpt = new Position('VP Technology'); -cio.addDirectReport(vpt); -const vpi = new Position('VP Infrastructure'); -cio.addDirectReport(vpi); -const dea = new Position('Director Enterprise Architecture'); -vpt.addDirectReport(dea); -const dct = new Position('Director Customer Technology'); -vpt.addDirectReport(dct); -const s = new Position('Salesperson'); -vps.addDirectReport(s); - -const myOrg = new Organization(ceo); - -myOrg.hire(new Name('Bob', 'Smith'), 'CEO'); -myOrg.hire(new Name('Zaphod', 'Beeblebrox'), 'President'); -myOrg.hire(new Name('Gandalf', 'Gray'), 'Director Enterprise Architecture'); -myOrg.hire(new Name('Bill', 'Lumbergh'), 'Director Customer Technology'); -myOrg.hire(new Name('Ford', 'Prefect'), 'VP Marketing'); -myOrg.hire(new Name('Jane', 'Seller'), 'VP Sales'); -myOrg.hire(new Name('Bean', 'Counter'), 'VP Finance'); -myOrg.hire(new Name('Victoria', 'Sinclair'), 'CIO'); -myOrg.hire(new Name('Head', 'Geek'), 'VP Technology'); -myOrg.hire(new Name('Steve', 'Dent'), 'VP Infrastructure'); -myOrg.hire(new Name('Slick', 'Willie'), 'Salesperson'); - -console.log(myOrg.toString()); diff --git a/javascript-es6/Name.js b/javascript-es6/Name.js deleted file mode 100644 index ca676f4..0000000 --- a/javascript-es6/Name.js +++ /dev/null @@ -1,15 +0,0 @@ -class Name { - constructor(first, last) { - if (!first) { - throw new Error('first name cannot be null'); - } - if (!last) { - throw new Error('last name cannot be null'); - } - this.getFirst = () => first; - this.getLast = () => last; - this.toString = () => `${first} ${last}`; - } -} - -export default Name; diff --git a/javascript-es6/Organization.js b/javascript-es6/Organization.js deleted file mode 100644 index e49bc28..0000000 --- a/javascript-es6/Organization.js +++ /dev/null @@ -1,21 +0,0 @@ -class Organization { - constructor(root) { - this.printOrganization = (position, prefix) => { - let str = `${prefix}+-${position.toString()}\n`; - for (const p of position.getDirectReports()) { - str = str.concat(this.printOrganization(p, `${prefix} `)); - } - return str; - }; - - // Hire the given person as an employee in the position that has that title - // Return the newly filled position or undefined if no position has that title - this.hire = (person, title) => { - // your code here - }; - - this.toString = () => this.printOrganization(root, ''); - }; -} - -export default Organization; diff --git a/javascript-es6/Position.js b/javascript-es6/Position.js deleted file mode 100644 index 12776d9..0000000 --- a/javascript-es6/Position.js +++ /dev/null @@ -1,35 +0,0 @@ -class Position { - constructor(title, employee) { - const directReports = new Set(); - - this.isFilled = () => !!employee; - - this.getTitle = () => title; - - this.setEmployee = (emp) => employee = emp; - - this.getEmployee = () => employee; - - this.addDirectReport = (position) => { - if (!position) { - throw new Error('position cannot be null'); - } - directReports.add(position); - }; - - this.removePosition = (position) => directReports.delete(position); - - this.getDirectReports = () => { - const reports = []; - directReports.forEach(position => reports.push(position)); - return reports; - }; - - this.toString = () => { - const emp = employee ? `: ${employee.toString()}` : ''; - return `${title}${emp.toString()}`; - }; - } -} - -export default Position; diff --git a/javascript-es6/README.md b/javascript-es6/README.md deleted file mode 100644 index 393ec78..0000000 --- a/javascript-es6/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Coding evaluation -Your goal is to make this project functional by completing the `hire()` function in the `Organization.js` file. You are free to change existing code or add additonal code, with the exception of `MyOrganization.js`. This file must not be changed. - -## Running the project -This project should be run on Node v14 or later. The project can be run in your favorite IDE or by running `npm start`. \ No newline at end of file diff --git a/javascript-es6/package.json b/javascript-es6/package.json deleted file mode 100644 index 13794ff..0000000 --- a/javascript-es6/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "codingeval-es6", - "version": "1.0.0", - "private": true, - "description": "Coding evaluation for interviews - ES6 edition", - "main": "MyOrganization.js", - "type": "module", - "scripts": { - "start": "node ./MyOrganization.js" - }, - "author": "American Airlines" -} diff --git a/typescript/.gitignore b/typescript/.gitignore deleted file mode 100644 index b512c09..0000000 --- a/typescript/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules \ No newline at end of file diff --git a/typescript/Employee.ts b/typescript/Employee.ts deleted file mode 100644 index 5d6c117..0000000 --- a/typescript/Employee.ts +++ /dev/null @@ -1,9 +0,0 @@ -import Name from './Name'; - -class Employee { - constructor(private readonly identifier: number, private readonly name: Name) { } - - toString = () => `${this.name.toString()}: ${this.identifier}`; -} - -export default Employee; diff --git a/typescript/MyOrganization.ts b/typescript/MyOrganization.ts deleted file mode 100644 index 8a6180a..0000000 --- a/typescript/MyOrganization.ts +++ /dev/null @@ -1,46 +0,0 @@ -import Name from './Name'; -import Organization from './Organization'; -import Position from './Position'; - -class MyOrganization extends Organization { - createOrganization(): Position { - const ceo = new Position('CEO'); - const pres = new Position('President'); - ceo.addDirectReport(pres); - const vpm = new Position('VP Marketing'); - pres.addDirectReport(vpm); - const vps = new Position('VP Sales'); - pres.addDirectReport(vps); - const vpf = new Position('VP Finance'); - pres.addDirectReport(vpf); - const coo = new Position('COO'); - pres.addDirectReport(coo); - const cio = new Position('CIO'); - ceo.addDirectReport(cio); - const vpt = new Position('VP Technology'); - cio.addDirectReport(vpt); - const vpi = new Position('VP Infrastructure'); - cio.addDirectReport(vpi); - const dea = new Position('Director Enterprise Architecture'); - vpt.addDirectReport(dea); - const dct = new Position('Director Customer Technology'); - vpt.addDirectReport(dct); - const s = new Position('Salesperson'); - vps.addDirectReport(s); - return ceo; - } -} - -const myOrg = new MyOrganization(); -myOrg.hire(new Name('Bob', 'Smith'), 'CEO'); -myOrg.hire(new Name('Zaphod', 'Beeblebrox'), 'President'); -myOrg.hire(new Name('Gandalf', 'Gray'), 'Director Enterprise Architecture'); -myOrg.hire(new Name('Bill', 'Lumbergh'), 'Director Customer Technology'); -myOrg.hire(new Name('Ford', 'Prefect'), 'VP Marketing'); -myOrg.hire(new Name('Jane', 'Seller'), 'VP Sales'); -myOrg.hire(new Name('Bean', 'Counter'), 'VP Finance'); -myOrg.hire(new Name('Victoria', 'Sinclair'), 'CIO'); -myOrg.hire(new Name('Head', 'Geek'), 'VP Technology'); -myOrg.hire(new Name('Steve', 'Dent'), 'VP Infrastructure'); -myOrg.hire(new Name('Slick', 'Willie'), 'Salesperson'); -console.log(myOrg.toString()); diff --git a/typescript/Name.ts b/typescript/Name.ts deleted file mode 100644 index 760a1b3..0000000 --- a/typescript/Name.ts +++ /dev/null @@ -1,7 +0,0 @@ -class Name { - constructor(private readonly first: string, private readonly last: string) { } - - toString = () => `${this.first} ${this.last}`; -} - -export default Name; diff --git a/typescript/Organization.ts b/typescript/Organization.ts deleted file mode 100644 index 59baeca..0000000 --- a/typescript/Organization.ts +++ /dev/null @@ -1,31 +0,0 @@ -import Position from './Position'; -import Name from './Name'; - -abstract class Organization { - private root: Position; - - constructor() { - this.root = this.createOrganization(); - } - - protected abstract createOrganization(): Position; - - printOrganization = (position: Position, prefix: string): string => { - let str = `${prefix}+-${position}\n`; - for (const p of position.getDirectReports()) { - str = str.concat(this.printOrganization(p, `${prefix} `)); - } - return str; - }; - - // Hire the given person as an employee in the position that has that title - // Return the newly filled position or undefined if no position has that title - hire(person: Name, title: string): Position | undefined { - // your code here - return undefined - } - - toString = () => this.printOrganization(this.root, ''); -} - -export default Organization; diff --git a/typescript/Position.ts b/typescript/Position.ts deleted file mode 100644 index aad9580..0000000 --- a/typescript/Position.ts +++ /dev/null @@ -1,37 +0,0 @@ -import Employee from './Employee'; - -class Position { - private directReports: Set = new Set(); - - constructor(private title: string, private employee?: Employee) { } - - isFilled = (): boolean => !!this.employee; - - getTitle = (): string => this.title; - - setEmployee = (employee: Employee): void => { this.employee = employee; }; - - getEmployee = (): Employee | undefined => this.employee; - - addDirectReport = (position: Position): void => { - if (!position) { - throw new Error('position cannot be null'); - } - this.directReports.add(position); - }; - - removePosition = (position): boolean => this.directReports.delete(position); - - getDirectReports = (): Position[] => { - const reports: Position[] = []; - this.directReports.forEach(position => reports.push(position)); - return reports; - }; - - toString = () => { - const employee = this.employee ? `: ${this.employee}` : ''; - return `${this.title}${employee}`; - }; -} - -export default Position; diff --git a/typescript/README.md b/typescript/README.md deleted file mode 100644 index 35db165..0000000 --- a/typescript/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Coding evaluation -Your goal is to make this project functional by completing the `hire()` function in the `Organization.ts` file. You are free to change existing code or add additonal code, with the exception of `MyOrganization.ts`. This file must not be changed. - -## Running the project -This project should be run on Node v14 or later using the `ts-node` TypeScript engine. `ts-node` can be installed by running `npm install`. The project can then be run in your favorite IDE or by running `npm start`. diff --git a/typescript/package-lock.json b/typescript/package-lock.json deleted file mode 100644 index 4b8501d..0000000 --- a/typescript/package-lock.json +++ /dev/null @@ -1,361 +0,0 @@ -{ - "name": "codingeval-ts", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "codingeval-ts", - "version": "1.0.0", - "devDependencies": { - "ts-node": "^10.8.0", - "typescript": "^4.7.2" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha1-weToDW+WT77LM1nEO9SLQPfK2tk=", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha1-YsH23uLr2a6tgNw6+laBDljhoEw=", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha1-lfLRZ/+5uNIGiwsjUwL6/U33EfI=", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha1-Qjx3h30Fadsg4fyAiFrEEYMUAQ4=", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "17.0.35", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@types/node/-/node-17.0.35.tgz", - "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha1-VsNiUfx8q8cJatwY8Fr+gUMhoow=", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.1.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/acorn-walk/-/acorn-walk-8.1.1.tgz", - "integrity": "sha1-Pdq3+E5KfiMT9sQUxbfayF9OPrw=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/arg/-/arg-4.1.3.tgz", - "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", - "dev": true, - "license": "MIT" - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM=", - "dev": true, - "license": "MIT" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/diff/-/diff-4.0.2.tgz", - "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", - "dev": true, - "license": "ISC" - }, - "node_modules/ts-node": { - "version": "10.8.0", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/ts-node/-/ts-node-10.8.0.tgz", - "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/typescript": { - "version": "4.7.2", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/typescript/-/typescript-4.7.2.tgz", - "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/yn/-/yn-3.1.1.tgz", - "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - } - }, - "dependencies": { - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha1-weToDW+WT77LM1nEO9SLQPfK2tk=", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha1-YsH23uLr2a6tgNw6+laBDljhoEw=", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha1-lfLRZ/+5uNIGiwsjUwL6/U33EfI=", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha1-Qjx3h30Fadsg4fyAiFrEEYMUAQ4=", - "dev": true - }, - "@types/node": { - "version": "17.0.35", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/@types/node/-/node-17.0.35.tgz", - "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==", - "dev": true, - "peer": true - }, - "acorn": { - "version": "8.4.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha1-VsNiUfx8q8cJatwY8Fr+gUMhoow=", - "dev": true - }, - "acorn-walk": { - "version": "8.1.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/acorn-walk/-/acorn-walk-8.1.1.tgz", - "integrity": "sha1-Pdq3+E5KfiMT9sQUxbfayF9OPrw=", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/arg/-/arg-4.1.3.tgz", - "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", - "dev": true - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM=", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/diff/-/diff-4.0.2.tgz", - "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", - "dev": true - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", - "dev": true - }, - "ts-node": { - "version": "10.8.0", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/ts-node/-/ts-node-10.8.0.tgz", - "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - } - }, - "typescript": { - "version": "4.7.2", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/typescript/-/typescript-4.7.2.tgz", - "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", - "dev": true - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "yn": { - "version": "3.1.1", - "resolved": "https://packages.aa.com/artifactory/api/npm/npm-public/yn/-/yn-3.1.1.tgz", - "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", - "dev": true - } - } -} diff --git a/typescript/package.json b/typescript/package.json deleted file mode 100644 index 74184ef..0000000 --- a/typescript/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "codingeval-ts", - "version": "1.0.0", - "private": true, - "description": "Coding evaluation for interviews - Typescript edition", - "main": "MyOrganization.ts", - "scripts": { - "start": "ts-node ./MyOrganization.ts" - }, - "author": "American Airlines", - "devDependencies": { - "ts-node": "^10.8.0", - "typescript": "^4.7.2" - } -} diff --git a/typescript/tsconfig.json b/typescript/tsconfig.json deleted file mode 100644 index 01e267d..0000000 --- a/typescript/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "strictNullChecks": true, - "lib": [ "ES2015", "dom" ] - } -} \ No newline at end of file