128 Commits

Author SHA1 Message Date
Ghostkeeper
dfd8cfb2b8
Skip test_deserializeMoveDefinitionContainer
This test is currently failing because of a weird hack we're doing to get around a Uranium bug: We're searching only through definitions that have a category, any category. This is done because Uranium requires a search to have some metadata entry to search on. We'll have to refactor that eventually but for now that is out of scope.

Contributes to issue CURA-3497.
2017-04-10 17:17:13 +02:00
Ghostkeeper
71aca6aa4b
Remove old deserialize tests
Most of these tests also tested the Uranium code, which it should mock out. The last test, test_deserializeMissingContainer, is caught by the currently existing tests.

Contributes to issue CURA-3497.
2017-04-10 17:14:50 +02:00
Ghostkeeper
f12ffad2c1
Add test for moving definition containers
When a definition container is in the wrong spot in a stack file it needs to be moved to the definition slot.

Contributes to issue CURA-3497.
2017-04-10 17:12:27 +02:00
Ghostkeeper
e807739117
Add test for moving containers through deserialising
When a container in the stack file is located in the wrong spot, it needs to move the container to the correct spot.

Contributes to issue CURA-3497.
2017-04-10 17:08:23 +02:00
Ghostkeeper
f27e7fca88
Document test_deserializeWrongDefinitionClass
Contributes to issue CURA-3497.
2017-04-10 16:46:47 +02:00
Ghostkeeper
5e9695773a
Add test for instance containers on definition spot
When deserialize finds an instance container in the definition spot and no other container to replace it with, it should raise an exception because stacks must have a definition.

Contributes to issue CURA-3497.
2017-04-10 16:45:42 +02:00
Ghostkeeper
00412e905f
Add test for removing definitions from instance locations
When deserialize finds a definition in an instance container spot it should replace it with an empty container.

Contributes to issue CURA-3497.
2017-04-10 16:43:51 +02:00
Ghostkeeper
a955c3dfdd
Add test for removing invalid instance containers from serialisation
If deserialize finds a container that has the wrong type it should replace it with an empty container.

Contributes to issue CURA-3497.
2017-04-10 16:41:05 +02:00
Ghostkeeper
64ce8c0bb1
Add test for whether an empty stack deserialises to proper size
It must be padded with empty containers. The test currently fails, and we concluded that we won't fix it as part of this refactor. We'll refactor this later and put it on skip until then to indicate a todo.

Contributes to issue CURA-3497.
2017-04-10 16:39:46 +02:00
Ghostkeeper
069235f9e0
Split test_constrainContainerTypes into multiple tests
This way the first assertion won't cause all of these tests to break if multiple are failing. It also removes the need for any state to be saved between these tests which is bad practice, and it adds a few tests for the unhappy path.

Contributes to issue CURA-3497.
2017-04-10 13:23:11 +02:00
Ghostkeeper
d74aa4d24e
Don't get with default from dictionary using named parameters
That doesn't work for some reason.

Contributes to issue CURA-3497.
2017-04-07 17:02:00 +02:00
Ghostkeeper
16b3c78667
Guard against type checking of DefinitionContainer
Otherwise it finds that we're trying to set a MagicMock into the definition slot.

Contributes to issue CURA-3497.
2017-04-07 16:58:47 +02:00
Ghostkeeper
7158ebdaea
Guard against type checking when replacing definition container
Otherwise it finds that this is not a definition container we're replacing the definition with.

Contributes to issue CURA-3497.
2017-04-07 16:54:21 +02:00
Ghostkeeper
d5df226024
Cache the indexes class
This improves readability a bit.

Contributes to issue CURA-3497.
2017-04-07 16:45:10 +02:00
Ghostkeeper
f4fcb50a4f
Fix container types of mock containers in fallthrough
It needs to create a container of each type or else setting the container will raise alarm.

Contributes to issue CURA-3497.
2017-04-07 16:41:02 +02:00
Ghostkeeper
4dfc86d5bb
Remove unused import
Contributes to issue CURA-3497.
2017-04-07 14:59:04 +02:00
Ghostkeeper
e71af663c3
Make getEmptyInstanceContainer return a container with ID 'empty'
This is checked in the test. Otherwise it would return magic mocks.

Contributes to issue CURA-3497.
2017-04-07 14:41:29 +02:00
Ghostkeeper
7ce89f5d80
Simplify defaults for container IDs in fixtures
Contributes to issue CURA-3497.
2017-04-07 14:02:39 +02:00
Ghostkeeper
46f3b5bd97
Use yield_fixture for fixtures with teardown
Otherwise it'll complain that it can't use yield.

Contributes to issue CURA-3497.
2017-04-07 13:13:12 +02:00
Ghostkeeper
8506c21099
Replace DefinitionContainer with MagicMock in test_addExtruder
Because the code checks for the type of DefinitionContainer.

Contributes to issue CURA-3497.
2017-04-06 16:30:04 +02:00
Arjen Hiemstra
d7984c888b Use a proper container mock for test user/quality changes 2017-03-28 18:20:13 +02:00
Arjen Hiemstra
30fd1ded45 Fix setPropertyOtherContainers test
Now uses writable stack and makes sure to compare the right values
2017-03-28 18:19:30 +02:00
Arjen Hiemstra
3c1cbd5aa9 Do not compare string to actual type
As far as we know, Global or Container stack should not take care of
string -> value conversion
2017-03-28 18:18:29 +02:00
Arjen Hiemstra
3620ce4c0a Fix setPropertyUser test with the right container and parameter order of setProperty 2017-03-28 18:17:12 +02:00
Arjen Hiemstra
87ce6246d8 Introduce a "writable global stack" fixture
This one has MockContainers set for all containers that allow calling
setProperty
2017-03-28 18:16:00 +02:00
Arjen Hiemstra
dc84141714 Implement set/getProperty for MockContainer
Otherwise setProperty/getProperty tests will never work
2017-03-28 17:51:46 +02:00
Arjen Hiemstra
7175ac0d20 Do not try to perform a setProperty on a definition
That is never going to work
2017-03-28 17:50:37 +02:00
Arjen Hiemstra
2a2df31c5b Set the User container to a writable container in testSetProperty
Since empty container (the default) will not allow writes
2017-03-28 17:50:09 +02:00
Arjen Hiemstra
3f1f4a172d Fix constrainContainerTypes test
We do not allow random containers to be assigned to specific properties,
only the containers that specify they are of a certain type.
2017-03-28 17:48:55 +02:00
Arjen Hiemstra
593c6c0c8f Set and clear ContainerStack's _containerRegistry property 2017-03-28 17:47:10 +02:00
Arjen Hiemstra
8f36e76588 Make sure to use the right metadata type entry for mock containers 2017-03-27 17:57:07 +02:00
Arjen Hiemstra
60ee1a3f75 We also raise InvalidContainer when setting variant 2017-03-27 17:56:46 +02:00
Arjen Hiemstra
5892f13349 Fix naming of definitionChanges property in test 2017-03-27 17:55:44 +02:00
Arjen Hiemstra
da751fa0ea We raise InvalidContainerError, not KeyError when a container was not found 2017-03-27 17:55:24 +02:00
Arjen Hiemstra
270cdd08cb Don't modify ContainerStack._containerRegistry property
We do not use it in GlobalStack
2017-03-27 17:54:44 +02:00
Arjen Hiemstra
385d8ac5b5 Properly mock Container and ContainerRegistry objects in Global stack test 2017-03-27 17:53:30 +02:00
Ghostkeeper
2936b9bf24
Fail deserialize test if missing container doesn't raise an exception
If it raised an exception, we were checking whether it was the proper exception. But if it wasn't raising an exception we weren't checking anything. That's fixed now (and the header of the function is improved a bit too).

Contributes to issue CURA-3497.
2017-03-24 17:37:23 +01:00
Ghostkeeper
14ac41e58f
Add tests for setQualityChangesById
One for when the ID exists, one for when it doesn't exist.

Contributes to issue CURA-3497.
2017-03-24 16:24:27 +01:00
Ghostkeeper
498956a190
Add tests for setQualityById
One for when the ID exists, one for when it doesn't exist.

Contributes to issue CURA-3497.
2017-03-24 16:19:47 +01:00
Ghostkeeper
d9ba848dc8
Add tests for setMeterialById
One for when the ID exists, one for when it doesn't exist.

Contributes to issue CURA-3497.
2017-03-24 16:15:50 +01:00
Ghostkeeper
3e437074ae
Sort tests better
Alphabetically.

Contributes to issue CURA-3497.
2017-03-24 16:01:56 +01:00
Ghostkeeper
dbc4a90e10
Add tests for setDefinitionChangesById
One for when the ID exists, one for when it doesn't exist.

Contributes to issue CURA-3497.
2017-03-24 16:00:55 +01:00
Ghostkeeper
928181507d
Add tests for setDefinitionById
One for when the ID exists, one for when it doesn't exist.

Contributes to issue CURA-3497.
2017-03-24 15:58:32 +01:00
Ghostkeeper
f29d5e897c
Add tests for setVariantById
One for when the ID exists, one for when it doesn't exist.

Contributes to issue CURA-3497.
2017-03-24 15:55:01 +01:00
Ghostkeeper
72bbb8ec0c
Also test whether adding an extruder had any effect on the extruder list
Contributes to issue CURA-3497.
2017-03-24 15:46:29 +01:00
Ghostkeeper
55dd17cae7
Add tests for changing properties on specified containers
Other than just user, that is.

Contributes to issue CURA-3497.
2017-03-24 15:42:05 +01:00
Ghostkeeper
319fd929d8
Add test for setProperty to set properties on user changes
Contributes to issue CURA-3497.
2017-03-24 15:34:31 +01:00
Ghostkeeper
3d7dbe2e3b
Expand constrainContainerTypes test with subclasses of container types
Subclasses should behave in the same way as their parents.

Contributes to issue CURA-3497.
2017-03-24 14:50:57 +01:00
Ghostkeeper
00c1c2dcf6
Add test to verify that you can't change types of containers
For instance, you shouldn't be able to put an instance container in the definition slot.

Contributes to issue CURA-3497.
2017-03-24 14:40:32 +01:00
Ghostkeeper
d1dc48d7e1
Add test to verify priority of resolve property
The resolve property should get priority over the value in the definition container, but not anywhere else.

Contributes to issue CURA-3497.
2017-03-24 14:27:30 +01:00