BAEL-1261 Polymorphism in Java (#2762)

* Define beans for handling different message types in a lean chat app

* Add class based spring beans configuration

* Define spring configuration in XML for constructor based bean injection

* Refactor package structure to separate constructor based bean injection code set from setter based bean injection code set

* Define configuration and classes specific to setter-based bean injection.

* Implement tests for constructor-based and setter-based bean injections

* develop codes for explaining type erasure

* Write unit tests for type erasure examples

* Remove evaluation article code

* Modify type erasure examples and unit tests

* Modify type erasure examples and unit tests

* Add expected exception in TypeErasureUnitTest

* Correct grammar in class name

* Implement File Manager app to demonstrate Polymorphism. Develop unit tests for Polymorphism article code

* Add examples for static polymorphism

* Change sysout statments to slf4j log info statements

* Add assertions and expected errors check on Test

* Add assertions and expected errors check on Test

* Correct compile time error of symbol not found

* Removed commented out non-compiling test.
This commit is contained in:
ocheja
2017-12-01 05:07:23 +09:00
committed by Zeger Hendrikse
parent 58f8e6163f
commit d45a891d4c
5 changed files with 220 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
package com.baeldung.polymorphism;
import static org.junit.Assert.*;
import java.awt.image.BufferedImage;
import org.junit.Ignore;
import org.junit.Test;
public class PolymorphismUnitTest {
@Test
public void givenImageFile_whenFileCreated_shouldSucceed() {
ImageFile imageFile = FileManager.createImageFile("SampleImageFile", 200, 100, new BufferedImage(100, 200, BufferedImage.TYPE_INT_RGB).toString()
.getBytes(), "v1.0.0");
assertEquals(200, imageFile.getHeight());
}
// Downcasting then Upcasting
@Test
public void givenTextFile_whenTextFileCreatedAndAssignedToGenericFileAndCastBackToTextFileOnGetWordCount_shouldSucceed() {
GenericFile textFile = FileManager.createTextFile("SampleTextFile", "This is a sample text content", "v1.0.0");
TextFile textFile2 = (TextFile) textFile;
assertEquals(6, textFile2.getWordCount());
}
// Downcasting
@Test(expected = ClassCastException.class)
public void givenGenericFile_whenCastToTextFileAndInvokeGetWordCount_shouldFail() {
GenericFile genericFile = new GenericFile();
TextFile textFile = (TextFile) genericFile;
System.out.println(textFile.getWordCount());
}
}