Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions src/main/java/io/zipcoder/Problem1.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,48 @@
package io.zipcoder;

import java.util.HashMap;
import java.util.Map;

public class Problem1 {

public Map<Character, Character> getMap(){
Map<Character, Character> substitutionMap=new HashMap<Character, Character>();
substitutionMap.put('f','7');
substitutionMap.put('s', '$');
substitutionMap.put('1','!');
substitutionMap.put('a','@');
return substitutionMap;
}

public Character subInLetter(char letter){
Map<Character,Character> substitutionMap=getMap();

Character newLetter=substitutionMap.get(letter);
if(newLetter!=null)
return newLetter;
else return letter;
}

public String replaceSentence(String sentence){
StringBuilder replacedSentence=new StringBuilder();


for(int i=0; i<sentence.length(); i++){
Character letter=sentence.toLowerCase().charAt(i);
letter=subInLetter(letter);
if(letter!=sentence.toLowerCase().charAt(i))
replacedSentence.append(letter);
else replacedSentence.append(sentence.charAt(i));
}
return replacedSentence.toString();
}

public String replacementRecurrsion(String sentence, Integer index ){
Map<Character, Character> substitutionMap=getMap();


// replacementRecurrsion()
return null;
}

}
34 changes: 34 additions & 0 deletions src/test/java/io/zipcoder/Problem1Test.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,38 @@
package io.zipcoder;

import org.junit.Assert;
import org.junit.Test;

import java.util.HashMap;
import java.util.Map;

public class Problem1Test {
Problem1 problem1=new Problem1();

@Test
public void createMapTest(){
Character expected='@';
Character actual=problem1.subInLetter('a');

Assert.assertEquals(expected,actual);
}

@Test
public void createMapTest2(){
Character expected='t';
Character actual=problem1.subInLetter('t');

Assert.assertEquals(expected,actual);
}

@Test
public void replaceSentenceTest(){
String given="The Farmer went to the store to get 1 dollar’s worth of fertilizer";
String expected="The 7@rmer went to the $tore to get ! doll@r’$ worth of 7ertilizer";
String actual = problem1.replaceSentence(given);

Assert.assertEquals(expected,actual);

}
}