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
2cdb6c5f6f
Split test_constrainContainerTypes into separate tests
...
Firstly, it'll no longer break on the first assert if multiple things are wrong. Secondly, it can now set different types for each container and put it in the correct slot then.
Contributes to issue CURA-3497.
2017-04-10 12:54:35 +02:00
Ghostkeeper
07d64f2335
Report the type that was found when replacing containers
...
Makes it easier to debug.
Contributes to issue CURA-3497.
2017-04-10 11:18:02 +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
0fe1b54588
Merge branch 'cura_containerstack' of github.com:Ultimaker/Cura into cura_containerstack
2017-04-07 09:31:17 +02:00
Arjen Hiemstra
e1537d4dea
Fix quality selection menu to highlight the active entry
...
Since we changed the "empty_quality_changes" to a proper empty
container.
2017-04-06 17:51:38 +02:00
Arjen Hiemstra
df25fa9345
Do not try to handle resolve manually in StartSliceJob
...
Since the container stacks should now take care of it
2017-04-06 17:50:43 +02:00
Arjen Hiemstra
6827849220
Un-deprecate activeMachine{Name,Id}
...
Since it provides too much noise and I do not want to change the code
that uses it right now.
2017-04-06 17:50:05 +02:00
Arjen Hiemstra
433537a2f0
Add type metadata to Extruder/Global stack
...
For backward compatibility with old code that still checks for "type".
2017-04-06 17:49:22 +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
608e62e081
Do not try to get resolve when extruder count == 1 or for nonexistant properties
2017-04-06 02:22:45 +02:00
Arjen Hiemstra
1c75a82779
Fix the hacked "getResolveOrValue" to return value always instead of resolve
2017-04-06 02:21:39 +02:00
Arjen Hiemstra
4da2de532b
Fix saving of Global/Extruder stack
...
Since we now have proper types for them, we can simplify the save code
2017-04-06 02:21:03 +02:00
Arjen Hiemstra
d3d2bdfaeb
getResolveOrValue has become obsolete now that stack.getProperty can return a resolve
2017-04-04 17:41:43 +02:00
Arjen Hiemstra
a16b5d73b6
Partial fix for infinite recursion when trying to call getProperty
2017-04-04 17:41:21 +02:00
Arjen Hiemstra
82333a244b
Add some initial code to use the new classes to create new machines
2017-04-04 17:40:58 +02:00
Arjen Hiemstra
cbc19b13eb
Deprecate the activeMachineName/Id properties in favour of activeMachine
2017-04-04 17:40:34 +02:00
Arjen Hiemstra
7eb5441ebc
Add an "activeMachine" property to MachineManager
...
Directly exposes the global container stack to QML.
2017-04-04 17:39:57 +02:00
Arjen Hiemstra
47a388fd2c
Introduce a CuraStackBuilder class
...
It contains factory functions for creating new stacks with certain
quality/material/variant combinations.
2017-04-04 17:38:49 +02:00
Arjen Hiemstra
e6adca7dd3
Fix type metadata of some of the test container stacks
2017-03-30 08:58:46 +02:00
Arjen Hiemstra
1f0f8cd6ea
Make GlobalStack a subclass of CuraContainerStack
2017-03-30 08:58:21 +02:00
Arjen Hiemstra
202f19a081
Make ExtruderStack a subclass of CuraContainerStack
2017-03-30 08:58:05 +02:00
Arjen Hiemstra
d4400b8674
Introduce a CuraContainerStack that has all the code shared between global and extruder
...
Since there is actually quite a lot of it
2017-03-30 08:57:37 +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
317576e983
Set container entry to empty if it was not found in the original container
2017-03-28 18:14:16 +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
75931192f6
Allow setting Definition and setting Definition by ID
...
To match the other properties
2017-03-28 17:46:28 +02:00