- Java 1.8/1.11/1.15
- Maven
https://www.geektrust.com/coding/detailed/doremi-subscription
We have provided scripts to execute the code.
Use run.sh
if you are Linux/Unix/macOS Operating systems and run.bat
if you are on Windows. Both the files run the commands silently and prints only output from the input file sample_input/input1.txt
. You are supposed to add the input commands in the file from the appropriate problem statement.
Internally both the scripts run the following commands
mvn clean install -DskipTests assembly:single -q
- This will create a jar filegeektrust.jar
in thetarget
folder.java -jar target/geektrust.jar sample_input/input1.txt
- This will execute the jar file passing in the sample input file as the command line argument
We expect your program to take the location to the text file as parameter. Input needs to be read from a text file, and output should be printed to the console. The text file will contain only commands in the format prescribed by the respective problem.
Use the pom.xml provided along with this project. Please change the main class entry (<mainClass>com.example.geektrust.Main</mainClass>
) in the pom.xml if your main class has changed.
Please fill input1.txt
and input2.txt
with the input commands and use those files in run.bat
or run.sh
. Replace java -jar target/geektrust.jar sample_input/input1.txt
with java -jar target/geektrust.jar sample_input/input2.txt
to run the test case from the second file.
mvn clean test
will execute the unit test cases.
START_SUBSCRIPTION DD-MM-YYYY
ADD_SUBSCRIPTION SUBSCRIPTION_CATEGORY PLAN_NAME
ADD_TOPUP TOP_UP_NAME NO_OF_MONTHS
PRINT_RENEWAL_DETAILS
Examples :
START_SUBSCRIPTION 20-02-2022
ADD_SUBSCRIPTION MUSIC PERSONAL
ADD_SUBSCRIPTION VIDEO PREMIUM
ADD_TOPUP ADD_TOPUP
PRINT_RENEWAL_DETAILS
INPUT :
START_SUBSCRIPTION20-02-2022
ADD_SUBSCRIPTIONMUSIC PERSONAL
ADD_SUBSCRIPTIONVIDEO PREMIUM
ADD_SUBSCRIPTIONPODCAST FREE
ADD_TOPUPFOUR_DEVICE 3
PRINT_RENEWAL_DETAILS RENEWAL_REMINDERMUSIC 10-03-2022
OUTPUT:
RENEWAL_REMINDERVIDEO 10-05-2022
RENEWAL_REMINDERPODCAST 10-03-2022
RENEWAL_AMOUNT750