Skip to content

Commit 59eb36e

Browse files
committed
commits tests for testing decorator pattern.
1 parent c52e12a commit 59eb36e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.designpatterns.decorator;
2+
3+
import com.designpatterns.structural.decorator.EmailSender;
4+
import com.designpatterns.structural.decorator.EncodingDecorator;
5+
import com.designpatterns.structural.decorator.Sender;
6+
import com.designpatterns.structural.decorator.SenderDecorator;
7+
import org.junit.jupiter.api.Assertions;
8+
import org.junit.jupiter.api.Test;
9+
10+
import java.util.Base64;
11+
12+
public class DecoratorDemo {
13+
14+
@Test
15+
public void testDecorator_sendEmailAsPlainText() {
16+
String message = "test message";
17+
EmailSender sender = new EmailSender();
18+
String content = sender.send(message);
19+
20+
Assertions.assertEquals(content, message);
21+
22+
}
23+
24+
@Test
25+
public void testDecorator_sendEmailAsEncodedTest() {
26+
String message = "test message";
27+
Sender sender = new SenderDecorator(
28+
new EncodingDecorator(
29+
new EmailSender()
30+
)
31+
);
32+
33+
String encodedContent = sender.send(message);
34+
35+
Assertions.assertEquals(
36+
new String(Base64.getDecoder().decode (encodedContent)),
37+
message
38+
);
39+
40+
41+
42+
}
43+
}

0 commit comments

Comments
 (0)