8000 [YAML] Added unit tests to Dumper by eddiejaoude · Pull Request #7144 · symfony/symfony · GitHub
[go: up one dir, main page]

Skip to content

[YAML] Added unit tests to Dumper #7144

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from
Closed

[YAML] Added unit tests to Dumper #7144

wants to merge 3 commits into from

Conversation

eddiejaoude
Copy link
Contributor
Q A
Bug fix? no
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets []
License MIT
Doc PR no

{
$this->dumper->setIndentation('8');
$this->assertTrue(is_int($this->dumper->getIndentation()));
$this->assertEquals(8, $this->dumper->getIndentation());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could do it with a single assertSame assertion.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes, I will update.

@stof
Copy link
Member
stof commented Feb 21, 2013

I don't like the fact that you are adding a getter for the only purpose of reaching 100% coverage (which could be achieved differently by checking that the dumper can indeed use 8 spaces when dumping)

@eddiejaoude
Copy link
Contributor Author

Ok, fair point, I will amend.

@eddiejaoude
Copy link
Contributor Author

I also thought of using reflection for the private property, as checking 8 space dump is less of a unit test as using multiple methods, thoughts?

@eddiejaoude
Copy link
Contributor Author

Another way to look at it, is if the property has a 'setter' why should it not have a 'getter' too? i.e. If the developer can 'set' it, why cant they 'get' it too. Just another thought, once the best way to move forward is confirmed, I will update my other tests accordingly & submit them.

@Baachi
Copy link
Contributor
Baachi commented Feb 21, 2013

Another solution would be, to extend the Dumper class and move the getIndentation to this class. This class should be located into the tests/ folder.

@stof What do you think?

@stof
Copy link
Member
stof commented Feb 21, 2013

@Baachi IMO, the unit test should ensure that we can actually change the indentation of the dumped code (which is what we want to do). We don't bother about being able to get the indentation (we don't even have a method for it currently), we want it to be applied. The Dumper is not a configuration object. It is an object doing some work.

So testing that a new getter returns the value will not ensure that changing the indentation is working.

@Baachi
Copy link
Contributor
Baachi commented Feb 21, 2013

@stof Ah yes, I understand you. So my solution is wrong, @eddiejaoude should call setIndentation and check the dumped yaml` if the string has the right indentation.

@eddiejaoude
Copy link
Contributor Author

Ok, thanks for the clarification guys. I will get on the case shortly!

fabpot added a commit that referenced this pull request Mar 20, 2013
This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #7144).

Commits
-------

448983c [YAML] Added unit tests to Dumper

Discussion
----------

[YAML] Added unit tests to Dumper

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | []
| License       | MIT
| Doc PR        | no

---------------------------------------------------------------------------

by stof at 2013-02-21T11:28:55Z

I don't like the fact that you are adding a getter for the only purpose of reaching 100% coverage (which could be achieved differently by checking that the dumper can indeed use 8 spaces when dumping)

---------------------------------------------------------------------------

by eddiejaoude at 2013-02-21T11:33:03Z

Ok, fair point, I will amend.

---------------------------------------------------------------------------

by eddiejaoude at 2013-02-21T11:35:14Z

I also thought of using reflection for the private property, as checking 8 space dump is less of a unit test as using multiple methods, thoughts?

---------------------------------------------------------------------------

by eddiejaoude at 2013-02-21T13:42:30Z

Another way to look at it, is if the property has a 'setter' why should it not have a 'getter' too? i.e. If the developer can 'set' it, why cant they 'get' it too. Just another thought, once the best way to move forward is confirmed, I will update my other tests accordingly & submit them.

---------------------------------------------------------------------------

by Baachi at 2013-02-21T13:49:25Z

Another solution would be, to extend the `Dumper` class and move the `getIndentation` to this class. This class should be located into the `tests/` folder.

@stof What do you think?

---------------------------------------------------------------------------

by stof at 2013-02-21T14:21:54Z

@Baachi IMO, the unit test should ensure that we can actually change the indentation of the dumped code (which is what we want to do). We don't bother about being able to get the indentation (we don't even have a method for it currently), we want it to be applied. The Dumper is not a configuration object. It is an object doing some work.

So testing that a new getter returns the value will not ensure that changing the indentation is working.

---------------------------------------------------------------------------

by Baachi at 2013-02-21T15:07:23Z

@stof Ah yes, I understand you. So my solution is wrong, @eddiejaoude should call `setIndentation` and check the dumped yaml` if the string has the right indentation.

---------------------------------------------------------------------------

by eddiejaoude at 2013-02-22T07:35:08Z

Ok, thanks for the clarification guys. I will get on the case shortly!
@fabpot fabpot closed this Mar 20, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0