Skip to content

Repository files navigation

Semester-3-Advanced programming


Description:

Object-oriented Java programming assignment demonstrating mastery of core OOP principles through design and implementation of custom classes. This comprehensive project includes multiple interconnected classes with validation, encapsulation, and thorough unit testing—representing intermediate-to-advanced Java programming capabilities.

Core Components: Account Class:

Account holder information storage Balance management with transaction history Deposit/withdrawal operations with validation Account status tracking Getter/setter methods with business logic validation

Date Class:

Date representation and validation Month validation (1-12) Day validation accounting for varying month lengths Leap year handling Date arithmetic and comparison operations

Time Class:

Hour, minute, second encapsulation (0-23, 0-59, 0-59) Time validation and normalization Time arithmetic (add/subtract) 12-hour and 24-hour format support Comparison operations between times

Key Features:

Encapsulation: Private fields with public accessor methods Data Validation: Prevents invalid object states through constructor and setter validation Unit Testing: Comprehensive test classes (TestAccount, TestDate, TestTime) Test Coverage: Multiple test cases per class covering normal and edge cases Documentation: Visual output documentation (screenshots) proving functionality Problem Solving: Assessment problems demonstrating applied OOP concepts

Testing Approach:

JUnit framework usage (likely) Boundary value testing Equivalence partitioning Edge case validation Visual test result documentation

Technologies:

Java, JUnit testing framework, OOP principles

Skills Demonstrated:

Class design and responsibility Data validation architecture Encapsulation principles Comprehensive testing methodology Problem-solving with objects Code documentation

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages