Comments (3)
GlobalDataKeeper
-Almost all data of the tool
-Isolate the method we want to test from the datakeeper -> void setData()
Example1: Test TreeConstruction class => fake DataKeeper => create FakeDataKeeper which extends DataKeeper and overwrites the setData(), method and populates some of the attributes of DataKeeper with simple data instead of parsing real data and stuff.
General idea:
- Create FakeClass that extends original
- Create fakeMethod() that overwrites original
- Create UnitTest
ex. testConstructTree() method
from l1-software-data-evolution.
More General Tests -> Too much in the Gui!
-Compare what is illustrated in a JTable before and after the change
-
Three attributes:
- detailedModel
- generalModel
- zoomModel
--> dump contents in some text file, then do the changes. To test, compare the file contents of the original table models and compare to the contents of the refactored.
-
Gui ==> change the above mentioned attributes to protected instead of private to do the tests. (protected renders attributes accessible within the same package without accessor methods)
-
Need to offload the class:
Options:- subclass the Gui
- (the one we want) BuissnessLogicClass to offload code for loading in the Gui ==> acts as a intermediary between DataKeeper and Gui with load methods
-
So as not to populate the code much, dump contents to .txt files and do the tests by comparing the contents to the .txt.
-
In the Gui there are methods that do some useful process on data --> move the logic to the Data Keeper "Move behavior close to Data" --> Make Data class a "service provider".
Example: constructColumns() @Class TableConstructor
from l1-software-data-evolution.
14/04 Notes
Do a little refactoring for the tests!!!
- The Server class --> push use cases to the server classes.
- Take code inside action listeners to server class --> need to refactor before testing, tool is not in a consistent state.
ex. Show FullDetailedLifetime
USE CASES
- Create new Project
- Load existing project
- Zoom in/out
- Parameter lists
from l1-software-data-evolution.
Related Issues (18)
- Deliverable No.2
- Progress presentation DL: 12/05
- [12/05] Todo's for Intermediary phase.
- Issues observed 08/05
- Possible Next Steps
- Presentation 19/05
- Tasks for next project presentation
- 02/05 Semi-Finals
- Progress in this phase so far
- 14/06 Final Deliverable
- Tips
- About Contracts
- Move behavior closer to data
- Testing Material
- DL.2 Notes
- Move behavior close to data.
- Demeter's Law
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from l1-software-data-evolution.